소개
시도하고자 했던 것과 그 이유를 알려주세요.
19기 N대리비서봇 스터디에서 n8n을 처음 접하게 되었습니다. n8n이 업무를 자동화하는데 편리한 도구더라구요. 내 업무 중에 자동화할게 무엇이 있을까를 고민하다가 "매일 아침(또는 시간 단위로) 나라장터에서 입찰공고를 자동으로 가져와서 구글시트로 받아볼수 있으면 좋겠다"는 생각을 하게 되었습니다.
진행 방법
어떤 도구를 사용했고, 어떻게 활용하셨나요?
Tip: 사용한 프롬프트 전문을 꼭 포함하고, 내용을 짧게 소개해 주세요.
Tip: 활용 이미지나 캡처 화면을 꼭 남겨주세요.
Tip: 코드 전문은 코드블록에 감싸서 작성해주세요. ( / 을 눌러 '코드 블록'을 선택)
스터디장(멍멍) 님의 훌륭한 O/T 온강의와 오프라인(11/15) 모임 특강 덕분에 n8n을 빠르게 배울수 있었습니다. 업무 적용 아이디어는 미리 생각해 두었고, 질의를 통해 n8n을 통해 자동화 가능성을 확인하였습니다.
일단 http를 요청해서 결과를 받아서 편집하고, 이를 구글시트로 보내는 워크플로우를 작성하였습니다. 워크플로우는 처음부터 완성한 것은 아니고, 단계별로 하나씩 짜 나가면서 발전시켜 나갔습니다. 다음은 1차로 완성한 워크플로우입니다.
노드를 만들 때, 입력해야 하는 것들이 많은데, 이때마다 챗gpt의 도움을 받았습니다. 아래는 노드에 대한 간략한 설명입니다.
HTTP Request 노드
이 노드를 구성하는 게 가장 어려웠습니다. 나라장터에서 제공하는 URL 서비스가 있는데, n8n에서 접근을 허용하지 않는 것 같았습니다(접근 가능 브라우저가 아니라고 안내). 최종적인 api를 도출하기 위해 챗gpt에게 해결 방법을 물어보았고, 몇 단계의 복잡한 과정을 거쳐 드디어 숨어있던 api를 찾고 몇가지(헤더, 바디) 설정을 한 끝에 호출에 성공하였습니다.
Split Out 노드와 Edit Fields 노드
'1번 Http Request' 노드에서 나온 결과(json)를 항목별로 분리하는 단계로서, 약간의 어려움은 있었으나 GPT의 도움을 받으면서 내가 원하는 항목들을 뽑을 수 있었습니다.
3. Append row in Sheet 노드(구글시트)
결과를 구글시트에 넣으려면 구글시트 API가 필요한데, 스터디장님이 제공해 주신 "GCC(구글 클라우드 콘솔) API 만들기" 자료를 통해 어렵지 않게 API를 연결할 수 있었습니다. API 키를 발급받기 위해서는 카드 결제정보 등을 입력하고, 키를 발급받아서 입력해 주어야 합니다. 그리고, 내 계정의 구글시트에서 미리 파일(Document)을 만들어 놓으면 해당 파일(아래의 경우 'g2b 입찰목록'을 불러서 사용하는 구조입니다.
4. 워크플로우 실행 결과
워크플로우를 실행하여 구글시트로 받은 결과입니다. 나라장터에서 제공하는 api가 한번에 10개만 제공하더라구요. 이어서 받으려면 워크플로우를 수정해야 하는데, 이것은 다음 사례에서 공유하겠습니다.
결과와 배운 점
배운 점과 나만의 꿀팁을 알려주세요.
과정 중에 어떤 시행착오를 겪었나요?
도움이 필요한 부분이 있나요?
앞으로의 계획이 있다면 들려주세요.
무엇보다 업무 자동화를 위한 n8n의 위력을 직접 경험할 수 있었습니다.
처음에는 URL이 있어서 간단히 할 수 있을 줄 알았는데, 어려운 복병을 만나서 많이 헤맸습니다. "역시 쉬운 것은 없다. 그러나... 이 또한 챗gpt의 도움을 받으면 해결 가능하다"라는 배움을 얻었습니다. n8n으로 처음 도전해보았는데, 여러모로 신기하고 자동화에 대한 감을 잡을 수 있었습니다.
이어서, 페이지 이어서 호출하기, 내용 요약하기(AI Agent) 등을 더해서 업그레이드시킬 예정입니다.
도움 받은 글 (옵션)
참고한 지피터스 글이나 외부 사례를 알려주세요.
온라인/오프라인 모임에서 저희 스터디장(멍멍) 님이 여러 n8n 적용사례들을 공유해 주셨습니다. 감사합니다^^