비개발자에게 n8n, 과연 도움이 될까?
마케터들 사이에서 유행하는 n8n 자동화, 비개발자가 직접 써보고 느낀 현실적인 장단점과 필요한 학습량에 대한 솔직한 후기입니다.
n8n을 알게 된 계기
올해 초부터 마케터 커뮤니티와 SNS에서 유독 자주 보이는 키워드가 있었습니다. n8n 셀프호스팅. "Claude한테 시키니까 서버 세팅부터 워크플로우까지 다 만들어줌", "ChatGPT로 n8n 자동화 뚝딱" 같은 글들이 타임라인을 채우기 시작했습니다. 처음에는 또 하나의 유행이려니 했는데, 글을 올리는 사람들이 저처럼 코딩을 본업으로 하지 않는 마케터나 기획자라는 점이 눈에 걸렸습니다.
저는 마케팅과 데이터 분석을 업으로 하고 있고, 개발은 할 줄 모릅니다. SQL 정도는 업무에서 쓰지만 프로그래밍 언어를 다루는 것과는 거리가 먼 사람입니다. 그런 제가 관심을 가진 이유는 단순했습니다. 반복 작업이 너무 많았기 때문입니다. 매주 GA4에서 데이터를 뽑아 정리하고, 리드 정보를 시트에 옮기고, 블로그가 발행되면 슬랙에 알리는 일들. 하나하나는 별것 아닌데 쌓이면 하루의 상당 부분을 잡아먹습니다.
"비개발자도 AI 도움받으면 할 수 있다"는 말에 솔직히 반신반의했지만, 직접 해보지 않으면 판단할 수 없다고 생각해서 시작했습니다. 결론부터 말하면, 맞는 말이기도 하고 틀린 말이기도 합니다.
첫인상은 꽤 괜찮았다
셀프호스팅이 유행이라고는 하지만, 저는 일단 n8n Cloud부터 시작했습니다. 서버 세팅에서 막혀서 정작 도구를 써보지도 못하는 상황은 피하고 싶었기 때문입니다. Cloud 버전은 가입하면 바로 쓸 수 있어서 진입 자체는 수월했습니다.
처음 워크플로우 에디터를 열었을 때 든 생각은 "생각보다 깔끔하다"였습니다. 노드를 드래그해서 연결하는 방식이 직관적이고, 각 노드가 무슨 역할을 하는지 아이콘과 이름만 봐도 대충 감이 옵니다. Google Sheets 노드를 끌어다 놓고, 슬랙 노드를 연결하고, 중간에 데이터를 가공하는 노드를 넣는 식입니다. 간단한 워크플로우 하나를 만드는 데 30분이 채 걸리지 않았습니다.
이때까지만 해도 "이거 정말 쉬운데?"라는 생각이 들었습니다. 기본 제공되는 템플릿도 많고, 노드 설정도 드롭다운에서 선택하는 방식이라 코드를 직접 쓸 일이 거의 없었습니다. 문제는 이 단계를 벗어나면서부터 시작됩니다.
실제로 도움이 된 자동화들
어려운 이야기를 하기 전에, 실제로 만들어서 잘 쓰고 있는 워크플로우부터 소개하겠습니다. 이것들이 돌아가는 것을 보면 n8n을 시작하길 잘했다는 생각이 드는 것도 사실이니까요.
첫 번째는 GA4 주간 리포트 슬랙 자동 발송입니다. 매주 월요일 아침 9시에 GA4 API를 호출해서 지난주 핵심 지표(세션 수, 전환율, 유입 채널별 트래픽)를 가져오고, 보기 좋게 정리한 뒤 슬랙 채널에 보내줍니다. 예전에는 매주 월요일마다 루커 스튜디오 열고, 스크린샷 찍고, 슬랙에 올리는 걸 직접 했는데 이제는 출근하면 이미 올라와 있습니다.
두 번째는 리드 데이터 자동 정리입니다. 웹사이트 문의 폼에서 들어오는 리드 정보가 Google Sheets에 쌓이는데, 이걸 n8n이 받아서 중복 체크하고, 회사명 기준으로 기존 리드와 매칭한 뒤 CRM 시트에 정리해줍니다. 수작업으로 하면 건당 2-3분씩 걸리던 일이 자동으로 처리됩니다.
세 번째는 블로그 발행 알림입니다. RSS 피드를 감시하다가 새 글이 올라오면 슬랙에 제목, 링크, 요약을 보내줍니다. 이건 만드는 데 10분도 안 걸렸습니다. n8n에 RSS 트리거 노드가 기본으로 있어서 정말 간단합니다.
이 세 가지만 해도 주당 2-3시간은 절약하고 있습니다. 반복 작업에서 해방된다는 것은 단순히 시간을 아끼는 것 이상으로, 매번 같은 일을 해야 한다는 심리적 부담이 사라진다는 뜻이기도 합니다.
여기서부터 어려워진다
위에서 소개한 자동화들은 비교적 단순한 편에 속합니다. 노드를 연결하고, 기본 설정만 건드리면 되는 수준이었습니다. 문제는 조금이라도 복잡한 로직이 필요해지는 순간 찾아옵니다.
GA4 리포트를 만들 때 일이 있었습니다. API에서 받아온 데이터를 슬랙 메시지 형식에 맞게 가공해야 했는데, 이때 처음으로 Expression이라는 것을 마주했습니다. n8n에서 데이터를 변환하거나 조건을 걸 때 쓰는 문법인데, JavaScript 기반입니다. 예를 들어 숫자에 천 단위 콤마를 넣으려면 이런 식으로 써야 합니다.
{{ $json.sessions.toLocaleString('ko-KR') }}
이 한 줄을 알아내는 데 꽤 오랜 시간이 걸렸습니다. JavaScript를 모르는 사람에게 $json이 뭔지, .toLocaleString()이 뭔지, 왜 중괄호를 두 번 써야 하는지는 직관적이지 않습니다.
더 난감했던 것은 API 인증 문제였습니다. GA4 API를 연결하려면 Google Cloud Console에서 서비스 계정을 만들고, JSON 키를 발급받고, 적절한 권한을 부여해야 합니다. n8n에서 credential을 설정하는 것 자체는 어렵지 않은데, 그 전 단계인 Google Cloud 설정이 비개발자에게는 상당한 장벽입니다. OAuth 동의 화면이 뭔지, 스코프가 뭔지, 서비스 계정과 OAuth의 차이가 뭔지를 이해해야 제대로 설정할 수 있습니다.
에러 메시지도 큰 벽입니다. 워크플로우가 실패하면 이런 메시지를 보게 됩니다.
ERROR: Request failed with status code 403
{
"error": {
"code": 403,
"message": "Request had insufficient authentication scopes.",
"status": "PERMISSION_DENIED"
}
}
개발자라면 "아, 스코프 권한이 부족하구나"라고 바로 파악하겠지만, 저는 이 메시지를 보고 뭘 해야 하는지 감이 전혀 오지 않았습니다. 403이 뭔지, 스코프가 뭔지, 어디서 어떤 권한을 추가해야 하는지를 하나하나 찾아봐야 했습니다.
JSON 데이터 구조를 이해하는 것도 필수입니다. n8n에서 노드 간에 데이터가 전달되는 형식이 JSON인데, 중첩된 객체에서 원하는 값을 꺼내려면 경로를 정확히 알아야 합니다.
{ "rows": [ { "dimensionValues": [{"value": "organic"}], "metricValues": [{"value": "1523"}] } ] }
여기서 1523이라는 값을 꺼내려면 $json.rows[0].metricValues[0].value라고 써야 합니다. 배열 인덱스가 뭔지, 왜 0부터 시작하는지를 모르면 이 경로를 스스로 작성할 수 없습니다.
AI가 도와준다고 해도
"Claude나 ChatGPT한테 물어보면 되지 않나?" 이 말은 반은 맞고 반은 틀립니다.
실제로 AI의 도움을 많이 받았습니다. Expression 문법을 모를 때, 에러 메시지를 해석할 때, 워크플로우 로직을 설계할 때 AI에게 질문하면 꽤 정확한 답을 줍니다. 처음 GA4 연동을 할 때도 Claude에게 단계별로 물어가며 설정했고, 덕분에 혼자 삽질하는 시간을 많이 줄일 수 있었습니다.
하지만 AI가 알려준 코드를 그대로 붙여넣기만 해서는 한계가 금방 옵니다. 워크플로우가 정상적으로 돌아갈 때는 문제가 없는데, 뭔가 하나가 바뀌거나 에러가 나면 스스로 수정할 수가 없습니다. AI에게 다시 물어볼 수는 있지만, 상황을 정확히 설명하려면 결국 본인이 어느 정도는 이해하고 있어야 합니다. "에러가 났어요"라고만 말해서는 AI도 도와주기 어렵습니다. 어떤 노드에서, 어떤 데이터가 들어왔을 때, 어떤 에러가 발생했는지를 설명할 수 있어야 유의미한 답을 받을 수 있습니다.
결국 AI는 학습 속도를 높여주는 도구이지, 학습을 대체해주는 도구는 아니었습니다.
결국 공부해야 하는 것들
n8n을 제대로 활용하려면 비개발자도 결국 다음과 같은 것들을 어느 정도 이해해야 합니다.
JSON은 피할 수 없습니다. n8n에서 데이터가 흘러가는 기본 형식이 JSON이기 때문에, 최소한 객체와 배열의 차이, 중첩 구조에서 값을 찾는 방법 정도는 알아야 합니다. 이걸 모르면 노드 간 데이터 연결 자체가 불가능합니다.
HTTP 기본 개념도 필요합니다. API를 호출한다는 게 뭔지, GET과 POST의 차이가 뭔지, 상태 코드 200/400/401/403/500이 각각 무슨 의미인지를 알아야 에러가 났을 때 방향을 잡을 수 있습니다. 특히 외부 서비스와 연동할 때 HTTP Request 노드를 직접 써야 하는 경우가 많은데, 이때 헤더, 바디, 쿼리 파라미터 같은 개념을 모르면 막힙니다.
Expression 문법, 즉 JavaScript 기초도 어느 정도 필요합니다. 조건 분기를 걸거나, 데이터를 가공하거나, 날짜 형식을 바꾸는 것 같은 작업은 Expression 없이는 할 수 없습니다. 프로그래밍을 깊이 배울 필요는 없지만, 변수가 뭔지, 조건문이 뭔지, 배열을 어떻게 다루는지 정도는 이해해야 합니다.
그리고 이 모든 것의 바탕에는 논리적 사고가 있습니다. 자동화 워크플로우를 설계한다는 건 결국 "A 조건이면 B를 하고, 아니면 C를 한다"는 로직을 짜는 일입니다. 이 로직을 명확하게 정리하지 못하면 워크플로우가 복잡해질수록 어디서 문제가 생기는지 찾기가 어려워집니다.
이 모든 것을 혼자 배우고 극복하는 것은 시간이 많이 필요합니다. 저도 위에서 소개한 세 가지 자동화를 안정적으로 돌리기까지 약 한 달 정도 퇴근 후 시간을 투자했습니다.
그래서 n8n, 쓸 만한가?
쓸 만합니다. 다만 조건이 있습니다.
투자한 시간 대비 효율 개선은 확실합니다. 한번 만들어놓은 워크플로우는 알아서 돌아가기 때문에, 초기에 고생한 만큼 이후에는 계속 시간을 벌 수 있습니다. 매주 2-3시간씩 반복하던 작업이 자동화되면, 한 달이면 10시간 가까이 확보됩니다. 그 시간에 더 중요한 분석이나 전략 업무에 집중할 수 있으니 충분히 가치가 있습니다.
하지만 그 "초기 고생"이 만만치 않다는 점을 알고 시작해야 합니다. 간단한 자동화 몇 개는 하루 만에 만들 수 있지만, 실무에서 안정적으로 돌아가는 워크플로우를 구축하려면 디버깅과 예외 처리에 상당한 시간을 쓰게 됩니다. "30분 만에 뚝딱"이라고 소개하는 글들은 대체로 가장 단순한 케이스만 보여주는 것이지, 실제 업무에 적용할 때의 복잡함까지 담고 있지는 않습니다.
비개발자에게 n8n을 추천하겠냐고 묻는다면, 이렇게 답하겠습니다. 반복 작업이 실제로 업무 시간의 의미 있는 부분을 차지하고 있고, 새로운 것을 배우는 데 거부감이 없으며, 당장의 결과보다 중장기적인 효율 개선에 관심이 있다면 시도해볼 가치가 있습니다. 하지만 "코딩 몰라도 된다"는 말만 믿고 시작하면 중간에 좌절할 가능성이 높습니다.
쉽게 얻는 것은 없다
n8n이든 다른 어떤 자동화 도구든, 도구가 해주는 것은 진입장벽을 낮춰주는 것이지 없애주는 것이 아닙니다. 예전에는 자동화를 하려면 Python 스크립트를 직접 짜야 했다면, 이제는 노드를 연결하는 방식으로 시작할 수 있다는 차이가 있을 뿐입니다. 그 과정에서 부딪히는 근본적인 어려움, 즉 데이터 구조를 이해하고, 로직을 설계하고, 에러를 해결하는 능력은 여전히 본인이 갖춰야 합니다.
AI가 도와주는 시대라고 해서 이 본질이 바뀌지는 않습니다. AI는 훌륭한 과외 선생님 같은 존재이지, 대신 시험을 봐주는 존재는 아닙니다. 결국 이해하고 판단하는 것은 본인의 몫입니다.
그래도 도전할 가치는 있다고 생각합니다. 저 역시 한 달 전의 저와 지금의 저를 비교하면, 자동화에 대한 이해도뿐 아니라 데이터가 시스템 간에 어떻게 흘러가는지에 대한 감각이 생겼습니다. 이런 감각은 마케터로서도 분명히 도움이 됩니다. GA4 데이터를 API로 직접 다뤄보면 대시보드 너머에 있는 데이터의 구조가 보이기 시작하고, 그러면 분석의 관점도 달라집니다.
각오하고 시작한다면, 해볼 만한 도전입니다. 다만 "쉽다"는 말은 하지 않겠습니다.
