n8n node lists

AI탐사대·2026년 2월 10일

n8n 노드 목록 (기능별 분류)

기반 경로: n8n/packages/nodes-base/nodes/, n8n/packages/@n8n/nodes-langchain/nodes/
생성일: 2026-02-04
소스: 실제 *.node.ts 파일에서 추출
[T] = Trigger 노드, [LC] = LangChain 패키지 노드


목차

  1. 트리거 및 시작점
  2. 로직 및 흐름 제어
  3. 데이터 변환 및 처리
  4. 코드 및 스크립트 실행
  5. HTTP 및 API 통신
  6. 파일 및 바이너리 처리
  7. 이메일
  8. 메신저 및 채팅
  9. 메시지 큐 및 실시간 통신
  10. 클라우드 저장소
  11. 데이터베이스
  12. CRM 및 영업
  13. 프로젝트 및 작업 관리
  14. 이벤트 및 폼
  15. 소셜 미디어
  16. 개발 및 DevOps
  17. 결제 및 금융
  18. AWS 서비스
  19. Google 서비스
  20. Microsoft / Azure 서비스
  21. AI / ML (nodes-base)
  22. AI Agent 및 체인 (LangChain)
  23. LLM 모델 연결 (LangChain)
  24. Embeddings (LangChain)
  25. 벡터 저장소 (LangChain)
  26. 메모리 (LangChain)
  27. AI 도구 (LangChain)
  28. Retriever (LangChain)
  29. 텍스트 분할 및 파싱 (LangChain)
  30. MCP (LangChain)
  31. n8n 내부 및 기타
  32. 마케팅 및 이메일 자동화
  33. 모니터링 및 관측성
  34. 보안 및 인증
  35. IoT 및 홈 자동화
  36. 기타 통합

1. 트리거 및 시작점

워크플로우 실행을 시작하는 트리거 노드들.

노드 클래스설명클래스 구현메서드출력 타입특징파일 경로
ManualTrigger수동으로 실행 시작ManualTrigger implements INodeTypetriggerMainmanualTriggerFunction 제공, 최대 1개nodes-base/nodes/ManualTrigger/ManualTrigger.node.ts
ScheduleTrigger시간 기반 반복 실행 (Cron)ScheduleTrigger implements INodeTypetriggerMainCron 표현식, 타임존 지원nodes-base/nodes/Schedule/ScheduleTrigger.node.ts
CronCron 표현식으로 반복 실행 (레거이시)Cron implements INodeTypetriggerMain레거이시, ScheduleTrigger 사용 권장nodes-base/nodes/Cron/Cron.node.ts
Interval일정 간격 반복 실행 (레거이시)Interval implements INodeTypetriggerMain레거이시, ScheduleTrigger 사용 권장nodes-base/nodes/Interval/Interval.node.ts
WebhookHTTP 요청 수신 시 실행Webhook implements INodeTypewebhookMainGET/POST/DELETE 등, 인증 지원nodes-base/nodes/Webhook/Webhook.node.ts
HttpRequest외부 HTTP 요청 수신 및 응답HttpRequest implements INodeTypewebhookMain범용 HTTP 엔드포인트nodes-base/nodes/HttpRequest/
N8nTriggern8n 내부 이벤트로 트리거N8nTrigger implements INodeTypetriggerMain워크플로우 활성화/비활성화 등nodes-base/nodes/N8nTrigger/N8nTrigger.node.ts
ErrorTrigger다른 워크플로우의 에러 발생 시 실행ErrorTrigger implements INodeTypetriggerMain에러 핸들링 워크플로우nodes-base/nodes/ErrorTrigger/ErrorTrigger.node.ts
WorkflowTrigger다른 워크플로우 실행 완료 시 트리거WorkflowTrigger implements INodeTypetriggerMain워크플로우 체이닝nodes-base/nodes/WorkflowTrigger/WorkflowTrigger.node.ts
LocalFileTrigger로컬 파일 변경 감지 시 실행LocalFileTrigger implements INodeTypetriggerMainchokidar 사용, 파일 시스템 감시nodes-base/nodes/LocalFileTrigger/LocalFileTrigger.node.ts
SseTriggerServer-Sent Events 수신 시 실행SseTrigger implements INodeTypetriggerMainSSE 스트림 수신nodes-base/nodes/SseTrigger/SseTrigger.node.ts
SimulateTrigger테스트용 모의 트리거SimulateTrigger implements INodeTypetriggerMain테스트/디버깅용nodes-base/nodes/Simulate/SimulateTrigger.node.ts
ChatTrigger [LC]챗 메시지로 워크플로우 트리거ChatTrigger implements INodeTypewebhookMainn8n Chat 위젯 연동@n8n/nodes-langchain/nodes/trigger/ChatTrigger/ChatTrigger.node.ts
ManualChatTrigger [LC]수동 챗 트리거 (테스트용)ManualChatTrigger implements INodeTypetriggerMain챗봇 테스트용@n8n/nodes-langchain/nodes/trigger/ManualChatTrigger/ManualChatTrigger.node.ts
McpTrigger [LC]MCP 프로토콜로 트리거McpTrigger implements INodeTypewebhookMainModel Context Protocol@n8n/nodes-langchain/nodes/trigger/McpTrigger/McpTrigger.node.ts

트리거 노드 공통 특징:

  • 모든 트리거는 ITriggerFunctions 또는 IWebhookFunctions 구현
  • 입력 없음 (inputs: [])
  • trigger() 또는 webhook() 메서드로 실행 시작
  • manualTriggerFunction 제공 시 수동 테스트 실행 가능

2. 로직 및 흐름 제어

워크플로우 내 조건 분기, 루프, 병합 등의 흐름 로직.

노드 클래스설명파일 경로
If / IfV1 / IfV2조건 평가 후 참/거짓 분기nodes-base/nodes/If/
Switch / SwitchV1 / SwitchV2 / SwitchV3다중 조건 분기 (switch-case)nodes-base/nodes/Switch/
Filter / FilterV1 / FilterV2아이템 단위 조건 필터링nodes-base/nodes/Filter/
Merge / MergeV1 / MergeV2 / MergeV3여러 입력 스트림 병합nodes-base/nodes/Merge/
SplitInBatches / V1 / V2 / V3아이템을 배치 단위로 분할 처리nodes-base/nodes/SplitInBatches/
Wait지정된 시간 또는 외부 응답까지 대기nodes-base/nodes/Wait/Wait.node.ts
StopAndError워크플로우를 강제 중단하고 에러 반환nodes-base/nodes/StopAndError/StopAndError.node.ts
Flow / FlowTrigger [T]단순 흐름 전달 및 트리거nodes-base/nodes/Flow/
CompareDatasets두 데이터셋 비교 및 차이 도출nodes-base/nodes/CompareDatasets/CompareDatasets.node.ts
RespondToWebhook대기 중인 Webhook 실행에 응답 반환nodes-base/nodes/RespondToWebhook/RespondToWebhook.node.ts
ExecuteWorkflow서브워크플로우 호출 및 실행nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts
ExecuteWorkflowTrigger [T]서브워크플로우 완료 시 트리거nodes-base/nodes/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.ts

3. 데이터 변환 및 처리

입출력 데이터의 형태, 구조, 내용을 변환하는 노드들.

노드 클래스설명파일 경로
Set / SetV1 / SetV2필드 추가/수정/제거nodes-base/nodes/Set/
RenameKeys필드 키 이름 변경nodes-base/nodes/RenameKeys/RenameKeys.node.ts
ItemLists / V1 / V2 / V3리스트와 단일 아이템 간 변환 (Split/Merge)nodes-base/nodes/ItemLists/
Aggregate여러 아이템을 하나로 집계nodes-base/nodes/Aggregate/Aggregate.node.ts
Limit아이템 수를 제한nodes-base/nodes/Limit/Limit.node.ts
Sort아이템 정렬nodes-base/nodes/Sort/Sort.node.ts
SplitOut하나의 아이템을 여러 아이템으로 분할nodes-base/nodes/SplitOut/SplitOut.node.ts
Summarize아이템을 요약/집계하여 통계 생성nodes-base/nodes/Summarize/Summarize.node.ts
RemoveDuplicates / V1 / V2중복 아이템 제거nodes-base/nodes/RemoveDuplicates/
DateTime / DateTimeV1 / DateTimeV2날짜/시간 형식 변환 및 계산nodes-base/nodes/DateTime/
Crypto암호화/복호화 및 해시 생성nodes-base/nodes/Crypto/Crypto.node.ts
JwtJWT 토큰 생성 및 검증nodes-base/nodes/Jwt/Jwt.node.ts
TotpTOTP 코드 생성 및 검증nodes-base/nodes/Totp/Totp.node.ts
XmlXML 파싱 및 변환nodes-base/nodes/Xml/Xml.node.ts
MarkdownMarkdown 파싱 및 변환nodes-base/nodes/Markdown/Markdown.node.ts
HtmlHTML 생성 및 변환nodes-base/nodes/Html/Html.node.ts
HtmlExtractHTML에서 특정 요소 추출nodes-base/nodes/HtmlExtract/HtmlExtract.node.ts
Compression파일 압축/압축 해제nodes-base/nodes/Compression/Compression.node.ts
MoveBinaryData바이너리 데이터를 다른 필드로 이동nodes-base/nodes/MoveBinaryData/MoveBinaryData.node.ts
ExecutionData실행 메타데이터 조회 및 변환nodes-base/nodes/ExecutionData/ExecutionData.node.ts

4. 코드 및 스크립트 실행

사용자 정의 코드를 직접 실행하는 노드들.

노드 클래스설명클래스 구현메서드입출력 타입지원 언어/환경샌드박스파일 경로
Code (base)JavaScript/Python 코드 실행Code implements INodeTypeexecuteMain → MainJavaScript, Python Beta, Python NativeJavaScriptSandbox, PythonSandbox, JsTaskRunner, PythonTaskRunnernodes-base/nodes/Code/Code.node.ts
FunctionJavaScript 함수 실행 (레거이시)Function implements INodeTypeexecuteMain → MainJavaScript (vm2)vm2 (deprecated)nodes-base/nodes/Function/Function.node.ts
FunctionItem아이템별 JavaScript 함수 실행 (레거이시)FunctionItem implements INodeTypeexecuteMain → MainJavaScript (vm2)vm2 (deprecated)nodes-base/nodes/FunctionItem/FunctionItem.node.ts
ExecuteCommandOS 커맨드 실행ExecuteCommand implements INodeTypeexecuteMain → MainShell commandsNone (직접 실행)nodes-base/nodes/ExecuteCommand/ExecuteCommand.node.ts
Code [LC]LangChain 컨텍스트에서 코드 실행Code implements INodeTypeexecute, supplyDataDynamic AI TypesJavaScriptJavaScriptSandbox (from nodes-base)@n8n/nodes-langchain/nodes/code/Code.node.ts

Code 노드 상세:

nodes-base/Code 노드

  • 실행 모드:
    • runOnceForAllItems: 전체 아이템을 한번에 처리
    • runOnceForEachItem: 각 아이템마다 개별 실행
  • 샌드박스 종류:
    • JavaScriptSandbox: V8 Isolate 기반 안전한 실행 환경
    • JsTaskRunnerSandbox: Task Runner를 통한 격리 실행
    • PythonSandbox: Python 코드 실행 환경
    • PythonTaskRunnerSandbox: Python Task Runner 실행
  • 사용 가능 객체: $items, $input, $json, $binary, $itemIndex, $runIndex, $now, 등
  • 의존성 주입: @n8n/di Container를 통한 설정 관리

@n8n/nodes-langchain/Code 노드

  • 동적 입출력: 사용자 정의 연결 타입 지원
    • 입력: AiChain, AiDocument, AiEmbedding, AiLanguageModel, AiMemory, AiOutputParser, AiTextSplitter, AiTool, AiVectorStore, Main
    • 출력: 동일한 타입 지원
  • 실행 방식:
    • execute: 일반 워크플로우 노드로 실행
    • supplyData: AI 컴포넌트로 실행 (Tool, Chain 등 반환)
  • LangChain 통합: @langchain/core/tools (Tool 클래스) 사용
  • 레거시 호환: langchain@langchain/classic 자동 변환

5. HTTP 및 API 통신

외부 API와의 HTTP 요청/응답을 담당하는 범용 노드.

노드 클래스설명파일 경로
HttpRequest / HttpRequestV1 / V2 / V3범용 HTTP 요청 (GET/POST/PUT/DELETE 등)nodes-base/nodes/HttpRequest/
GraphQLGraphQL 쿼리 및 뮤테이션 실행nodes-base/nodes/GraphQL/GraphQL.node.ts
WebhookWebhook 요청 수신 및 응답nodes-base/nodes/Webhook/Webhook.node.ts

6. 파일 및 바이너리 처리

파일 읽기, 쓰기, 변환을 담당하는 노드들.

노드 클래스설명파일 경로
ReadBinaryFile단일 파일 읽기nodes-base/nodes/ReadBinaryFile/ReadBinaryFile.node.ts
ReadBinaryFiles여러 파일 읽기nodes-base/nodes/ReadBinaryFiles/ReadBinaryFiles.node.ts
WriteBinaryFile파일 쓰기nodes-base/nodes/WriteBinaryFile/WriteBinaryFile.node.ts
ConvertToFile데이터를 파일로 변환nodes-base/nodes/ConvertToFile/ConvertToFile.node.ts
ExtractFromFile파일에서 데이터 추출nodes-base/nodes/ExtractFromFile/ExtractFromFile.node.ts
ReadWriteFile파일 읽기/쓰기 종합 노드nodes-base/nodes/ReadWriteFile/ReadWriteFile.node.ts
ReadPDFPDF 파일 파싱 및 텍스트 추출nodes-base/nodes/ReadPdf/ReadPDF.node.ts
SpreadsheetFile / V1 / V2Excel/CSV 파일 읽기·쓰기nodes-base/nodes/SpreadsheetFile/
ICalendariCalendar (.ics) 파일 파싱nodes-base/nodes/ICalendar/ICalendar.node.ts

7. 이메일

이메일 발송 및 수신을 담당하는 노드들.

노드 클래스설명파일 경로
EmailSend / V1 / V2SMTP를 통한 이메일 발송nodes-base/nodes/EmailSend/
EmailReadImap / V1 / V2IMAP을 통한 이메일 수신 및 읽기nodes-base/nodes/EmailReadImap/
MailgunMailgun API로 이메일 발송nodes-base/nodes/Mailgun/Mailgun.node.ts
SendGridSendGrid API로 이메일 발송nodes-base/nodes/SendGrid/SendGrid.node.ts
MandrillMandrill(Mailchimp) API로 이메일 발송nodes-base/nodes/Mandrill/Mandrill.node.ts
Postmark / PostmarkTrigger [T]Postmark API 이메일 발송 및 Webhooknodes-base/nodes/Postmark/
SendySendy 이메일 마케팅 APInodes-base/nodes/Sendy/Sendy.node.ts

8. 메신저 및 채팅

메신저 앱과의 통신을 담당하는 노드들.

노드 클래스설명파일 경로
Slack / SlackV1 / SlackV2 / SlackTrigger [T]Slack 메시지 발송/수신 및 이벤트nodes-base/nodes/Slack/Slack.node.ts / V1/SlackV1.node.ts / V2/SlackV2.node.ts / SlackTrigger.node.ts
Telegram / TelegramTrigger [T]Telegram Bot API 통신nodes-base/nodes/Telegram/Telegram.node.ts / TelegramTrigger.node.ts
Discord / DiscordV1 / DiscordV2Discord Webhook 및 봇 메시지nodes-base/nodes/Discord/Discord.node.ts / v1/DiscordV1.node.ts / v2/DiscordV2.node.ts
MicrosoftTeams / V1 / V2 / MicrosoftTeamsTrigger [T]Microsoft Teams 메시지 및 이벤트nodes-base/nodes/Microsoft/Teams/MicrosoftTeams.node.ts / v1/ / v2/ / MicrosoftTeamsTrigger.node.ts
LineLINE Messaging APInodes-base/nodes/Line/Line.node.ts
Mattermost / MattermostV1Mattermost 메시지 발송nodes-base/nodes/Mattermost/Mattermost.node.ts / v1/MattermostV1.node.ts
RocketchatRocket.Chat 메시지 발송nodes-base/nodes/Rocketchat/Rocketchat.node.ts
TwistTwist 메시지 발송nodes-base/nodes/Twist/Twist.node.ts
ZulipZulip 메시지 발송nodes-base/nodes/Zulip/Zulip.node.ts
GotifyGotify 푸시 알림nodes-base/nodes/Gotify/Gotify.node.ts
MatrixMatrix 프로토콜 메시지nodes-base/nodes/Matrix/Matrix.node.ts
PushbulletPushbullet 푸시 알림nodes-base/nodes/Pushbullet/Pushbullet.node.ts
Pushcut / PushcutTrigger [T]Pushcut 푸시 알림 및 트리거nodes-base/nodes/Pushcut/Pushcut.node.ts / PushcutTrigger.node.ts
PushoverPushover 푸시 알림nodes-base/nodes/Pushover/Pushover.node.ts
Twilio / TwilioTrigger [T]Twilio SMS/음성 통신 및 Webhooknodes-base/nodes/Twilio/Twilio.node.ts / TwilioTrigger.node.ts
VonageVonage(Nexmo) SMS 통신nodes-base/nodes/Vonage/Vonage.node.ts
MessageBirdMessageBird SMS/음성 통신nodes-base/nodes/MessageBird/MessageBird.node.ts
PlivoPlivo SMS 통신nodes-base/nodes/Plivo/Plivo.node.ts
MoceanMocean SMS 통신nodes-base/nodes/Mocean/Mocean.node.ts
Sms77Sms77 SMS 통신nodes-base/nodes/Sms77/Sms77.node.ts
Msg91Msg91 SMS 통신nodes-base/nodes/Msg91/Msg91.node.ts
WhatsApp / WhatsAppTrigger [T]WhatsApp Business APInodes-base/nodes/WhatsApp/WhatsApp.node.ts / WhatsAppTrigger.node.ts
CiscoWebex / CiscoWebexTrigger [T]Cisco Webex 메시지 및 이벤트nodes-base/nodes/Cisco/Webex/CiscoWebex.node.ts / CiscoWebexTrigger.node.ts
Signl4SIGNL4 알림 발송nodes-base/nodes/Signl4/Signl4.node.ts
Chat [LC] / ChatTrigger [LC]n8n Chat 위짓 통신@n8n/nodes-langchain/nodes/trigger/ChatTrigger/Chat.node.ts / ChatTrigger.node.ts

9. 메시지 큐 및 실시간 통신

메시지 큐, Pub/Sub, MQTT 등 비동기 통신 노드들.

노드 클래스설명파일 경로
Kafka / KafkaTrigger [T]Apache Kafka 메시지 발송/수신nodes-base/nodes/Kafka/Kafka.node.ts / KafkaTrigger.node.ts
RabbitMQ / RabbitMQTrigger [T]RabbitMQ 메시지 발송/수신nodes-base/nodes/RabbitMQ/RabbitMQ.node.ts / RabbitMQTrigger.node.ts
Mqtt / MqttTrigger [T]MQTT 프로토콜 메시지 발송/수신nodes-base/nodes/MQTT/Mqtt.node.ts / MqttTrigger.node.ts
Amqp / AmqpTrigger [T]AMQP 프로토콜 메시지 발송/수신nodes-base/nodes/Amqp/Amqp.node.ts / AmqpTrigger.node.ts
RssFeedRead / RssFeedReadTrigger [T]RSS 피드 읽기 및 새 항목 감지nodes-base/nodes/RssFeedRead/RssFeedRead.node.ts / RssFeedReadTrigger.node.ts

10. 클라우드 저장소

클라우드 파일 저장소 및 드라이브와의 연동.

노드 클래스설명파일 경로
GoogleDrive / GoogleDriveV1 / GoogleDriveV2 / GoogleDriveTrigger [T]Google Drive 파일 관리 및 이벤트nodes-base/nodes/Google/Drive/GoogleDrive.node.ts / v1/ / v2/ / GoogleDriveTrigger.node.ts
DropboxDropbox 파일 관리nodes-base/nodes/Dropbox/Dropbox.node.ts
Box / BoxTrigger [T]Box 파일 관리 및 이벤트nodes-base/nodes/Box/Box.node.ts / BoxTrigger.node.ts
AwsS3 / AwsS3V1 / AwsS3V2AWS S3 객체 저장소nodes-base/nodes/Aws/S3/AwsS3.node.ts / V1/AwsS3V1.node.ts / V2/AwsS3V2.node.ts
S3S3 호환 저장소 (범용)nodes-base/nodes/S3/S3.node.ts
NextCloudNextCloud 파일 관리nodes-base/nodes/NextCloud/NextCloud.node.ts
FtpFTP/SFTP 파일 업로드/다운로드nodes-base/nodes/Ftp/Ftp.node.ts
GoogleCloudStorageGoogle Cloud Storagenodes-base/nodes/Google/CloudStorage/GoogleCloudStorage.node.ts
AzureStorageAzure Blob Storagenodes-base/nodes/Microsoft/Storage/AzureStorage.node.ts
MicrosoftOneDrive / MicrosoftOneDriveTrigger [T]Microsoft OneDrivenodes-base/nodes/Microsoft/OneDrive/MicrosoftOneDrive.node.ts / MicrosoftOneDriveTrigger.node.ts
MicrosoftSharePointMicrosoft SharePointnodes-base/nodes/Microsoft/SharePoint/MicrosoftSharePoint.node.ts

11. 데이터베이스

관계형 및 NoSQL 데이터베이스와의 연동.

노드 클래스설명파일 경로
Postgres / PostgresV1 / V2 / PostgresTrigger [T]PostgreSQL 쿼리 및 이벤트nodes-base/nodes/Postgres/
MySql / MySqlV1 / V2MySQL 쿼리nodes-base/nodes/MySql/
MongoDbMongoDB 문서 조작nodes-base/nodes/MongoDb/MongoDb.node.ts
Redis / RedisTrigger [T]Redis 키-값 저장소 및 Pub/Subnodes-base/nodes/Redis/
OracleSqlOracle 데이터베이스 쿼리nodes-base/nodes/Oracle/Sql/OracleSql.node.ts
MicrosoftSqlMicrosoft SQL Server 쿼리nodes-base/nodes/Microsoft/Sql/MicrosoftSql.node.ts
SnowflakeSnowflake 클라우드 DW 쿼리nodes-base/nodes/Snowflake/Snowflake.node.ts
CrateDbCrateDB 분산 SQL 쿼리nodes-base/nodes/CrateDb/CrateDb.node.ts
QuestDbQuestDB 시계열 DB 쿼리nodes-base/nodes/QuestDb/QuestDb.node.ts
TimescaleDbTimescaleDB 시계열 DB 쿼리nodes-base/nodes/TimescaleDb/TimescaleDb.node.ts
SupabaseSupabase (PostgreSQL 기반) APInodes-base/nodes/Supabase/Supabase.node.ts
NocoDBNocoDB 테이블 APInodes-base/nodes/NocoDB/NocoDB.node.ts
SeaTable / SeaTableV1 / V2 / SeaTableTrigger [T]SeaTable 테이블 조작 및 이벤트nodes-base/nodes/SeaTable/
StackbyStackby 테이블 APInodes-base/nodes/Stackby/Stackby.node.ts
BaserowBaserow 테이블 APInodes-base/nodes/Baserow/Baserow.node.ts
AzureCosmosDbAzure Cosmos DBnodes-base/nodes/Microsoft/AzureCosmosDb/AzureCosmosDb.node.ts
LdapLDAP 디렉토리 조회nodes-base/nodes/Ldap/Ldap.node.ts
ElasticsearchElasticsearch 검색 및 인덱싱nodes-base/nodes/Elastic/Elasticsearch/Elasticsearch.node.ts
DataTablen8n 내장 DataTablenodes-base/nodes/DataTable/DataTable.node.ts

12. CRM 및 영업

고객 관계 관리 및 영업 파이프라인 통합.

노드 클래스설명파일 경로
Salesforce / SalesforceTrigger [T]Salesforce CRMnodes-base/nodes/Salesforce/Salesforce.node.ts / SalesforceTrigger.node.ts
Hubspot / HubspotV1 / HubspotV2 / HubspotTrigger [T]HubSpot CRMnodes-base/nodes/Hubspot/Hubspot.node.ts / V1/HubspotV1.node.ts / V2/HubspotV2.node.ts / HubspotTrigger.node.ts
Pipedrive / PipedriveTrigger [T]Pipedrive CRMnodes-base/nodes/Pipedrive/Pipedrive.node.ts / PipedriveTrigger.node.ts
Copper / CopperTrigger [T]Copper CRMnodes-base/nodes/Copper/Copper.node.ts / CopperTrigger.node.ts
AgileCrmAgile CRMnodes-base/nodes/AgileCrm/AgileCrm.node.ts
ActiveCampaign / ActiveCampaignTrigger [T]ActiveCampaign CRMnodes-base/nodes/ActiveCampaign/ActiveCampaign.node.ts / ActiveCampaignTrigger.node.ts
FreshworksCrmFreshworks CRMnodes-base/nodes/FreshworksCrm/FreshworksCrm.node.ts
MonicaCrmMonica CRMnodes-base/nodes/MonicaCrm/MonicaCrm.node.ts
SalesmateSalesmate CRMnodes-base/nodes/Salesmate/Salesmate.node.ts
ZohoCrmZoho CRMnodes-base/nodes/Zoho/ZohoCrm.node.ts
MicrosoftDynamicsCrmMicrosoft Dynamics 365 CRMnodes-base/nodes/Microsoft/Dynamics/MicrosoftDynamicsCrm.node.ts
IntercomIntercom 고객 메신저nodes-base/nodes/Intercom/Intercom.node.ts
DriftDrift 대화형 마케팅nodes-base/nodes/Drift/Drift.node.ts
GongGong 영업 인텔리젠스nodes-base/nodes/Gong/Gong.node.ts
HighLevel / HighLevelV1 / HighLevelV2HighLevel CRMnodes-base/nodes/HighLevel/HighLevel.node.ts / v1/HighLevelV1.node.ts / v2/HighLevelV2.node.ts
Keap / KeapTrigger [T]Keap (Infusionsoft) CRMnodes-base/nodes/Keap/Keap.node.ts / KeapTrigger.node.ts
ClearbitClearbit 회사/사람 데이터 조회nodes-base/nodes/Clearbit/Clearbit.node.ts
UpleadUpLead B2B 리드 조회nodes-base/nodes/Uplead/Uplead.node.ts
HunterHunter.io 이메일 탐색nodes-base/nodes/Hunter/Hunter.node.ts
BrandfetchBrandfetch 회사 정보 조회nodes-base/nodes/Brandfetch/Brandfetch.node.ts
DropcontactDropcontact 연락처 정보 강화nodes-base/nodes/Dropcontact/Dropcontact.node.ts
HumanticAiHumantic AI 퍼서널리티 분석nodes-base/nodes/HumanticAI/HumanticAi.node.ts

13. 프로젝트 및 작업 관리

프로젝트, 이슈, 작업 관리 도구와의 통합.

노드 클래스설명파일 경로
Jira / JiraTrigger [T]Atlassian Jira 이슈 관리nodes-base/nodes/Jira/Jira.node.ts / JiraTrigger.node.ts
Asana / AsanaTrigger [T]Asana 작업 관리nodes-base/nodes/Asana/Asana.node.ts / AsanaTrigger.node.ts
Trello / TrelloTrigger [T]Trello 보드/카드 관리nodes-base/nodes/Trello/Trello.node.ts / TrelloTrigger.node.ts
MondayComMonday.com 작업 관리nodes-base/nodes/MondayCom/MondayCom.node.ts
ClickUp / ClickUpTrigger [T]ClickUp 프로젝트 관리nodes-base/nodes/ClickUp/ClickUp.node.ts / ClickUpTrigger.node.ts
Linear / LinearTrigger [T]Linear 이슈 트래킹nodes-base/nodes/Linear/Linear.node.ts / LinearTrigger.node.ts
Notion / NotionV1 / NotionV2 / NotionTrigger [T]Notion 페이지·DB 관리nodes-base/nodes/Notion/Notion.node.ts / v1/NotionV1.node.ts / v2/NotionV2.node.ts / NotionTrigger.node.ts
Todoist / TodoistV1 / TodoistV2Todoist 작업 관리nodes-base/nodes/Todoist/Todoist.node.ts / v1/TodoistV1.node.ts / v2/TodoistV2.node.ts
MicrosoftToDoMicrosoft To Donodes-base/nodes/Microsoft/ToDo/MicrosoftToDo.node.ts
Toggl / TogglTrigger [T]Toggl 시간 추적nodes-base/nodes/Toggl/TogglTrigger.node.ts
Clockify / ClockifyTrigger [T]Clockify 시간 추적nodes-base/nodes/Clockify/Clockify.node.ts / ClockifyTrigger.node.ts
HarvestHarvest 프로젝트 및 시간 추적nodes-base/nodes/Harvest/Harvest.node.ts
Taiga / TaigaTrigger [T]Taiga 프로젝트 관리nodes-base/nodes/Taiga/Taiga.node.ts / TaigaTrigger.node.ts
WekanWekan 보드 관리nodes-base/nodes/Wekan/Wekan.node.ts
QuickBaseQuickBase 앱 관리nodes-base/nodes/QuickBase/QuickBase.node.ts
CodaCoda 문서/테이블 APInodes-base/nodes/Coda/Coda.node.ts
Airtable / AirtableV1 / AirtableV2 / AirtableTrigger [T]Airtable 테이블 조작 및 이벤트nodes-base/nodes/Airtable/Airtable.node.ts / v1/AirtableV1.node.ts / v2/AirtableV2.node.ts / AirtableTrigger.node.ts

14. 이벤트 및 폼

폼 제출, 이벤트 등록, 웹비너 등의 이벤트 통합.

노드 클래스설명파일 경로
Form / FormTrigger / FormTriggerV1 / FormTriggerV2 [T]n8n 내장 폼 생성 및 제출 수신nodes-base/nodes/Form/Form.node.ts / FormTrigger.node.ts / v1/FormTriggerV1.node.ts / v2/FormTriggerV2.node.ts
FormIoTrigger [T]Form.io 폼 제출 이벤트nodes-base/nodes/FormIo/FormIoTrigger.node.ts
FormstackTrigger [T]Formstack 폼 제출 이벤트nodes-base/nodes/Formstack/FormstackTrigger.node.ts
JotFormTrigger [T]JotForm 폼 제출 이벤트nodes-base/nodes/JotForm/JotFormTrigger.node.ts
TypeformTrigger [T]Typeform 폼 제출 이벤트nodes-base/nodes/Typeform/TypeformTrigger.node.ts
WufooTrigger [T]Wufoo 폼 제출 이벤트nodes-base/nodes/Wufoo/WufooTrigger.node.ts
SurveyMonkeyTrigger [T]SurveyMonkey 응답 이벤트nodes-base/nodes/SurveyMonkey/SurveyMonkeyTrigger.node.ts
KoBoToolbox / KoBoToolboxTrigger [T]KoBoToolbox 폼 및 이벤트nodes-base/nodes/KoBoToolbox/KoBoToolbox.node.ts / KoBoToolboxTrigger.node.ts
GoToWebinarGoToWebinar 웹비너 관리nodes-base/nodes/GoToWebinar/GoToWebinar.node.ts
ZoomZoom 회의 관리nodes-base/nodes/Zoom/Zoom.node.ts
EventbriteTrigger [T]Eventbrite 이벤트 관리nodes-base/nodes/Eventbrite/EventbriteTrigger.node.ts
DemioDemio 웹비너 관리nodes-base/nodes/Demio/Demio.node.ts
CalTrigger [T]Cal.com 예약 이벤트nodes-base/nodes/Cal/CalTrigger.node.ts
CalendlyTrigger [T]Calendly 예약 이벤트nodes-base/nodes/Calendly/CalendlyTrigger.node.ts
AcuitySchedulingTrigger [T]Acuity Scheduling 예약 이벤트nodes-base/nodes/AcuityScheduling/AcuitySchedulingTrigger.node.ts

15. 소셜 미디어

SNS 및 소셜 미디어 플랫폼과의 통합.

노드 클래스설명파일 경로
FacebookGraphApi / FacebookTrigger [T]Facebook Graph API 및 이벤트nodes-base/nodes/Facebook/FacebookGraphApi.node.ts / FacebookTrigger.node.ts
FacebookLeadAdsTrigger [T]Facebook Lead Ads 리드 수신nodes-base/nodes/FacebookLeadAds/FacebookLeadAdsTrigger.node.ts
Twitter / TwitterV1 / TwitterV2Twitter(X) APInodes-base/nodes/Twitter/Twitter.node.ts / V1/TwitterV1.node.ts / V2/TwitterV2.node.ts
LinkedInLinkedIn APInodes-base/nodes/LinkedIn/LinkedIn.node.ts
RedditReddit APInodes-base/nodes/Reddit/Reddit.node.ts
YouTubeYouTube Data APInodes-base/nodes/Google/YouTube/YouTube.node.ts
Strava / StravaTrigger [T]Strava 피트니스 APInodes-base/nodes/Strava/Strava.node.ts / StravaTrigger.node.ts
SpotifySpotify Web APInodes-base/nodes/Spotify/Spotify.node.ts
MediumMedium 블로그 APInodes-base/nodes/Medium/Medium.node.ts
WordPressWordPress REST APInodes-base/nodes/Wordpress/Wordpress.node.ts
PostHogPostHog 분석 이벤트nodes-base/nodes/PostHog/PostHog.node.ts

16. 개발 및 DevOps

소프트웨어 개발, CI/CD, Git 관련 통합.

노드 클래스설명파일 경로
Github / GithubTrigger [T]GitHub API 및 Webhook 이벤트nodes-base/nodes/Github/Github.node.ts / GithubTrigger.node.ts
Gitlab / GitlabTrigger [T]GitLab API 및 Webhook 이벤트nodes-base/nodes/Gitlab/Gitlab.node.ts / GitlabTrigger.node.ts
BitbucketTrigger [T]Bitbucket Webhook 이벤트nodes-base/nodes/Bitbucket/BitbucketTrigger.node.ts
Git로컬 Git 저장소 명령 실행nodes-base/nodes/Git/Git.node.ts
CircleCiCircleCI CI/CD APInodes-base/nodes/CircleCi/CircleCi.node.ts
TravisCiTravis CI APInodes-base/nodes/TravisCi/TravisCi.node.ts
JenkinsJenkins CI/CD APInodes-base/nodes/Jenkins/Jenkins.node.ts
Npmnpm 패키지 정보 조회nodes-base/nodes/Npm/Npm.node.ts
Netlify / NetlifyTrigger [T]Netlify 배포 및 이벤트nodes-base/nodes/Netlify/Netlify.node.ts / NetlifyTrigger.node.ts
CloudflareCloudflare API (DNS, Pages 등)nodes-base/nodes/Cloudflare/Cloudflare.node.ts
RundeckRundeck 작업 실행nodes-base/nodes/Rundeck/Rundeck.node.ts
GrafanaGrafana 대시보드 및 알림nodes-base/nodes/Grafana/Grafana.node.ts
Splunk / SplunkV1 / SplunkV2Splunk 로그 분석nodes-base/nodes/Splunk/Splunk.node.ts / v1/SplunkV1.node.ts / v2/SplunkV2.node.ts
SentryIoSentry 에러 모니터링nodes-base/nodes/SentryIo/SentryIo.node.ts
SecurityScorecardSecurityScorecard 보안 평가nodes-base/nodes/SecurityScorecard/SecurityScorecard.node.ts
UptimeRobotUptimeRobot 모니터링nodes-base/nodes/UptimeRobot/UptimeRobot.node.ts

17. 결제 및 금융

결제 처리, 인보이스, 금융 서비스 통합.

노드 클래스설명파일 경로
Stripe / StripeTrigger [T]Stripe 결제 및 Webhooknodes-base/nodes/Stripe/Stripe.node.ts / StripeTrigger.node.ts
PayPal / PayPalTrigger [T]PayPal 결제 및 Webhooknodes-base/nodes/PayPal/PayPal.node.ts / PayPalTrigger.node.ts
PaddlePaddle 결제 플랫폼nodes-base/nodes/Paddle/Paddle.node.ts
Chargebee / ChargebeeTrigger [T]Chargebee 구독 관리 및 Webhooknodes-base/nodes/Chargebee/Chargebee.node.ts / ChargebeeTrigger.node.ts
QuickBooksQuickBooks 회계 APInodes-base/nodes/QuickBooks/QuickBooks.node.ts
InvoiceNinja / InvoiceNinjaTrigger [T]InvoiceNinja 인보이스 관리nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts / InvoiceNinjaTrigger.node.ts
Wise / WiseTrigger [T]Wise(TransferWise) 환전nodes-base/nodes/Wise/Wise.node.ts / WiseTrigger.node.ts
ProfitWellProfitWell 수익 분석nodes-base/nodes/ProfitWell/ProfitWell.node.ts
CoinGeckoCoinGecko 암호화폐 데이터nodes-base/nodes/CoinGecko/CoinGecko.node.ts
MarketstackMarketstack 주식 시장 데이터nodes-base/nodes/Marketstack/Marketstack.node.ts
XeroXero 회계 APInodes-base/nodes/Xero/Xero.node.ts

18. AWS 서비스

Amazon Web Services 서비스 통합.

노드 클래스설명파일 경로
AwsS3 / AwsS3V1 / AwsS3V2S3 객체 저장소nodes-base/nodes/Aws/S3/AwsS3.node.ts / V1/AwsS3V1.node.ts / V2/AwsS3V2.node.ts
AwsDynamoDBDynamoDB NoSQL 테이블nodes-base/nodes/Aws/DynamoDB/AwsDynamoDB.node.ts
AwsLambdaLambda 함수 호출nodes-base/nodes/Aws/AwsLambda.node.ts
AwsSesSES 이메일 발송nodes-base/nodes/Aws/SES/AwsSes.node.ts
AwsSns / AwsSnsTrigger [T]SNS 푸시 알림 및 구독nodes-base/nodes/Aws/AwsSns.node.ts / AwsSnsTrigger.node.ts
AwsSqsSQS 메시지 큐nodes-base/nodes/Aws/SQS/AwsSqs.node.ts
AwsRekognitionRekognition 이미지 분석nodes-base/nodes/Aws/Rekognition/AwsRekognition.node.ts
AwsComprehendComprehend 텍스트 분석nodes-base/nodes/Aws/Comprehend/AwsComprehend.node.ts
AwsTextractTextract 문서 텍스트 추출nodes-base/nodes/Aws/Textract/AwsTextract.node.ts
AwsTranscribeTranscribe 음성 인식nodes-base/nodes/Aws/Transcribe/AwsTranscribe.node.ts
AwsCognitoCognito 사용자 인증nodes-base/nodes/Aws/Cognito/AwsCognito.node.ts
AwsIamIAM 권한 관리nodes-base/nodes/Aws/IAM/AwsIam.node.ts
AwsElbElastic Load Balancernodes-base/nodes/Aws/ELB/AwsElb.node.ts
AwsCertificateManagerACM SSL 인증서 관리nodes-base/nodes/Aws/CertificateManager/AwsCertificateManager.node.ts

19. Google 서비스

Google Cloud 및 Workspace 서비스 통합.

노드 클래스설명파일 경로
GoogleDrive / GoogleDriveV1 / GoogleDriveV2 / GoogleDriveTrigger [T]Google Drivenodes-base/nodes/Google/Drive/GoogleDrive.node.ts / v1/GoogleDriveV1.node.ts / v2/GoogleDriveV2.node.ts / GoogleDriveTrigger.node.ts
GoogleSheets / GoogleSheetsV1 / GoogleSheetsV2 / GoogleSheetsTrigger [T]Google Sheetsnodes-base/nodes/Google/Sheet/GoogleSheets.node.ts / v1/GoogleSheetsV1.node.ts / v2/GoogleSheetsV2.node.ts / GoogleSheetsTrigger.node.ts
GoogleCalendar / GoogleCalendarTrigger [T]Google Calendarnodes-base/nodes/Google/Calendar/GoogleCalendar.node.ts / GoogleCalendarTrigger.node.ts
GoogleAnalytics / GoogleAnalyticsV1 / GoogleAnalyticsV2Google Analyticsnodes-base/nodes/Google/Analytics/GoogleAnalytics.node.ts / v1/GoogleAnalyticsV1.node.ts / v2/GoogleAnalyticsV2.node.ts
GoogleBigQuery / GoogleBigQueryV1 / GoogleBigQueryV2Google BigQuerynodes-base/nodes/Google/BigQuery/GoogleBigQuery.node.ts / v1/GoogleBigQueryV1.node.ts / v2/GoogleBigQueryV2.node.ts
GoogleContactsGoogle Contactsnodes-base/nodes/Google/Contacts/GoogleContacts.node.ts
GoogleDocsGoogle Docsnodes-base/nodes/Google/Docs/GoogleDocs.node.ts
GoogleSlidesGoogle Slidesnodes-base/nodes/Google/Slides/GoogleSlides.node.ts
GoogleTasksGoogle Tasksnodes-base/nodes/Google/Tasks/GoogleTasks.node.ts
GoogleChatGoogle Chatnodes-base/nodes/Google/Chat/GoogleChat.node.ts
GoogleBooksGoogle Books APInodes-base/nodes/Google/Books/GoogleBooks.node.ts
GoogleTranslateGoogle Translatenodes-base/nodes/Google/Translate/GoogleTranslate.node.ts
GoogleCloudNaturalLanguageGoogle Cloud NLPnodes-base/nodes/Google/CloudNaturalLanguage/GoogleCloudNaturalLanguage.node.ts
GoogleCloudStorageGoogle Cloud Storagenodes-base/nodes/Google/CloudStorage/GoogleCloudStorage.node.ts
GoogleFirebaseCloudFirestoreFirebase Firestorenodes-base/nodes/Google/Firebase/CloudFirestore/GoogleFirebaseCloudFirestore.node.ts
GoogleFirebaseRealtimeDatabaseFirebase Realtime DBnodes-base/nodes/Google/Firebase/RealtimeDatabase/GoogleFirebaseRealtimeDatabase.node.ts
GooglePerspectivePerspective API (유해 텍스트 감지)nodes-base/nodes/Google/Perspective/GooglePerspective.node.ts
GoogleAdsGoogle Ads APInodes-base/nodes/Google/Ads/GoogleAds.node.ts
GoogleBusinessProfile / GoogleBusinessProfileTrigger [T]Google Business Profilenodes-base/nodes/Google/BusinessProfile/GoogleBusinessProfile.node.ts / GoogleBusinessProfileTrigger.node.ts
GSuiteAdminGoogle Workspace Admin SDKnodes-base/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.ts
Gmail / GmailV1 / GmailV2 / GmailTrigger [T]Gmail 이메일nodes-base/nodes/Google/Gmail/Gmail.node.ts / v1/GmailV1.node.ts / v2/GmailV2.node.ts / GmailTrigger.node.ts
YouTubeYouTube Data APInodes-base/nodes/Google/YouTube/YouTube.node.ts

20. Microsoft / Azure 서비스

Microsoft 365 및 Azure 서비스 통합.

노드 클래스설명파일 경로
MicrosoftTeams / MicrosoftTeamsV1 / MicrosoftTeamsV2 / MicrosoftTeamsTrigger [T]Microsoft Teamsnodes-base/nodes/Microsoft/Teams/MicrosoftTeams.node.ts / v1/MicrosoftTeamsV1.node.ts / v2/MicrosoftTeamsV2.node.ts / MicrosoftTeamsTrigger.node.ts
MicrosoftOutlook / MicrosoftOutlookV1 / MicrosoftOutlookV2 / MicrosoftOutlookTrigger [T]Microsoft Outlook 이메일nodes-base/nodes/Microsoft/Outlook/MicrosoftOutlook.node.ts / v1/MicrosoftOutlookV1.node.ts / v2/MicrosoftOutlookV2.node.ts / MicrosoftOutlookTrigger.node.ts
MicrosoftExcel / MicrosoftExcelV1 / MicrosoftExcelV2Microsoft Excelnodes-base/nodes/Microsoft/Excel/MicrosoftExcel.node.ts / v1/MicrosoftExcelV1.node.ts / v2/MicrosoftExcelV2.node.ts
MicrosoftOneDrive / MicrosoftOneDriveTrigger [T]Microsoft OneDrivenodes-base/nodes/Microsoft/OneDrive/MicrosoftOneDrive.node.ts / MicrosoftOneDriveTrigger.node.ts
MicrosoftSharePointMicrosoft SharePointnodes-base/nodes/Microsoft/SharePoint/MicrosoftSharePoint.node.ts
MicrosoftToDoMicrosoft To Donodes-base/nodes/Microsoft/ToDo/MicrosoftToDo.node.ts
MicrosoftEntraMicrosoft Entra ID (인증)nodes-base/nodes/Microsoft/Entra/MicrosoftEntra.node.ts
MicrosoftGraphSecurityMicrosoft Graph Securitynodes-base/nodes/Microsoft/GraphSecurity/MicrosoftGraphSecurity.node.ts
MicrosoftDynamicsCrmMicrosoft Dynamics 365nodes-base/nodes/Microsoft/Dynamics/MicrosoftDynamicsCrm.node.ts
AzureCosmosDbAzure Cosmos DBnodes-base/nodes/Microsoft/AzureCosmosDb/AzureCosmosDb.node.ts
AzureStorageAzure Blob Storagenodes-base/nodes/Microsoft/Storage/AzureStorage.node.ts

21. AI / ML (nodes-base)

nodes-base 패키지의 AI 및 ML 관련 노드.

노드 클래스설명파일 경로
OpenAiOpenAI API (Chat, Image, Audio 등)nodes-base/nodes/OpenAi/OpenAi.node.ts
AiTransformAI를 활용한 데이터 변환nodes-base/nodes/AiTransform/AiTransform.node.ts
EditImageAI 기반 이미지 편집nodes-base/nodes/EditImage/EditImage.node.ts
DeepLDeepL 번역 APInodes-base/nodes/DeepL/DeepL.node.ts
MistralAiMistral AI APInodes-base/nodes/MistralAi/MistralAi.node.ts
PerplexityPerplexity AI 검색nodes-base/nodes/Perplexity/Perplexity.node.ts
JinaAiJina AI (검색/임베딩)nodes-base/nodes/JinaAi/JinaAi.node.ts

22. AI Agent 및 체인 (LangChain)

LangChain 기반 AI 에이전트 및 체인 노드. [LC]

노드 클래스설명클래스 구현메서드입력 타입출력 타입지원 에이전트파일 경로
AgentAI 에이전트 구성 및 실행 (메인 노드)Agent extends VersionedNodeTypeexecuteAiLanguageModel, AiMemory, AiTool, AiOutputParserMainConversational, OpenAI Functions, Plan&Execute, ReAct, SQL, Toolsagents/Agent/Agent.node.ts
AgentV1Agent 버전 1.xAgentV1 implements INodeTypeexecute동일Main전체agents/Agent/V1/AgentV1.node.ts
AgentV2Agent 버전 2.xAgentV2 implements INodeTypeexecute동일Main전체agents/Agent/V2/AgentV2.node.ts
AgentV3Agent 버전 3.x (최신)AgentV3 implements INodeTypeexecute동일Main전체 + EngineRequest/Responseagents/Agent/V3/AgentV3.node.ts
AgentTool에이전트를 도구로 사용AgentTool extends VersionedNodeTypeexecute/supplyData동일AiTool전체agents/Agent/AgentTool.node.ts
OpenAiAssistantOpenAI Assistants API 기반 에이전트OpenAiAssistant implements INodeTypeexecuteMainMainOpenAI Assistantagents/OpenAiAssistant/OpenAiAssistant.node.ts
ChainLlmLLM 체인 — 프롬프트 → LLM → 출력ChainLlm implements INodeTypesupplyDataAiLanguageModelAiChain-chains/ChainLLM/ChainLlm.node.ts
ChainRetrievalQaRAG 체인 — Retriever + LLM 조합ChainRetrievalQa implements INodeTypesupplyDataAiLanguageModel, AiRetrieverAiChain-chains/ChainRetrievalQA/ChainRetrievalQa.node.ts
ChainSummarization텍스트 요약 체인ChainSummarization extends VersionedNodeTypesupplyDataAiLanguageModel, AiDocumentAiChain-chains/ChainSummarization/ChainSummarization.node.ts
InformationExtractor텍스트에서 구조화된 정보 추출InformationExtractor implements INodeTypeexecuteAiLanguageModelMain-chains/InformationExtractor/InformationExtractor.node.ts
SentimentAnalysis텍스트 감성 분석SentimentAnalysis implements INodeTypeexecuteAiLanguageModelMain-chains/SentimentAnalysis/SentimentAnalysis.node.ts
TextClassifier텍스트 분류TextClassifier implements INodeTypeexecuteAiLanguageModelMain-chains/TextClassifier/TextClassifier.node.ts
ToolExecutor에이전트가 도구를 실행하는 단계 노드ToolExecutor implements INodeTypeexecuteMainMain-ToolExecutor/ToolExecutor.node.ts
ModelSelector조건 기준으로 LLM 모델 동적 선택ModelSelector implements INodeTypesupplyData-AiLanguageModel-ModelSelector/ModelSelector.node.ts
GuardrailsAI 출력에 대한 안전성 검증 및 필터링Guardrails extends VersionedNodeTypeexecuteMainMain-Guardrails/Guardrails.node.ts

Agent 노드 상세:

  • 버전: 1.0-1.9 (V1), 2.0-2.3 (V2), 3.0-3.1 (V3, 기본값)
  • 지원 에이전트 타입:
    • Conversational: 대화형 에이전트 (conversationalAgentExecute)
    • OpenAI Functions: OpenAI Function Calling 사용 (openAiFunctionsAgentExecute)
    • Plan and Execute: 계획 수립 후 실행 (planAndExecuteAgentExecute)
    • ReAct: Reasoning + Acting 패턴 (reActAgentAgentExecute)
    • SQL: SQL 데이터베이스 쿼리 (sqlAgentAgentExecute)
    • Tools: 범용 도구 에이전트 (toolsAgentExecute, V1/V2/V3 별도 구현)
  • 동적 입력: Chat Model(필수), Memory(선택, 최대 1개), Tools(무제한), Output Parser(선택, 최대 1개)

23. LLM 모델 연결 (LangChain)

LLM 모델을 에이전트/체인에 연결하는 노드. [LC]

노드 클래스설명클래스 구현메서드LangChain 라이브러리출력 타입자격증명파일 경로
LmChatOpenAiOpenAI Chat 모델 (GPT-4 등)LmChatOpenAi implements INodeTypesupplyData@langchain/openai (ChatOpenAI)AiLanguageModelopenAiApillms/LMChatOpenAi/LmChatOpenAi.node.ts
LmChatAnthropicAnthropic Claude 모델LmChatAnthropic implements INodeTypesupplyData@langchain/anthropic (ChatAnthropic)AiLanguageModelanthropicApillms/LMChatAnthropic/LmChatAnthropic.node.ts
LmChatGoogleGeminiGoogle Gemini 모델LmChatGoogleGemini implements INodeTypesupplyData@langchain/google-genai (ChatGoogleGenerativeAI)AiLanguageModelgooglePalmApillms/LmChatGoogleGemini/LmChatGoogleGemini.node.ts
LmChatGoogleVertexGoogle Vertex AI 모델LmChatGoogleVertex implements INodeTypesupplyData@langchain/google-vertexai (ChatVertexAI)AiLanguageModelgoogleVertexOAuth2Apillms/LmChatGoogleVertex/LmChatGoogleVertex.node.ts
LmChatAwsBedrockAWS Bedrock 모델LmChatAwsBedrock implements INodeTypesupplyData@langchain/aws (ChatBedrock)AiLanguageModelawsllms/LmChatAwsBedrock/LmChatAwsBedrock.node.ts
LmChatAzureOpenAiAzure OpenAI 모델LmChatAzureOpenAi implements INodeTypesupplyData@langchain/openai (AzureChatOpenAI)AiLanguageModelazureOpenAiApillms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.ts
LmChatMistralCloudMistral Cloud 모델LmChatMistralCloud implements INodeTypesupplyData@langchain/mistralai (ChatMistralAI)AiLanguageModelmistralCloudApillms/LmChatMistralCloud/LmChatMistralCloud.node.ts
LmChatCohereCohere 모델LmChatCohere implements INodeTypesupplyData@langchain/cohere (ChatCohere)AiLanguageModelcohereApillms/LmChatCohere/LmChatCohere.node.ts
LmChatDeepSeekDeepSeek 모델LmChatDeepSeek implements INodeTypesupplyData@langchain/openai (ChatOpenAI)AiLanguageModeldeepSeekApillms/LmChatDeepSeek/LmChatDeepSeek.node.ts
LmChatGroqGroq 모델LmChatGroq implements INodeTypesupplyData@langchain/groq (ChatGroq)AiLanguageModelgroqApillms/LmChatGroq/LmChatGroq.node.ts
LmChatOllamaOllama 로컬 모델LmChatOllama implements INodeTypesupplyData@langchain/ollama (ChatOllama)AiLanguageModel-llms/LMChatOllama/LmChatOllama.node.ts
LmChatOpenRouterOpenRouter 통합 모델 라우팅LmChatOpenRouter implements INodeTypesupplyData@langchain/openai (ChatOpenAI)AiLanguageModelopenRouterApillms/LmChatOpenRouter/LmChatOpenRouter.node.ts
LmChatVercelAiGatewayVercel AI GatewayLmChatVercelAiGateway implements INodeTypesupplyData@langchain/openai (ChatOpenAI)AiLanguageModelhttpHeaderAuthllms/LmChatVercelAiGateway/LmChatVercelAiGateway.node.ts
LmChatXAiGrokxAI Grok 모델LmChatXAiGrok implements INodeTypesupplyData@langchain/openai (ChatOpenAI)AiLanguageModelxAiApillms/LmChatXAiGrok/LmChatXAiGrok.node.ts
LmChatLemonadeLemonade 모델LmChatLemonade implements INodeTypesupplyDataCustomAiLanguageModellemonadeApillms/LMChatLemonade/LmChatLemonade.node.ts
LmOpenAiOpenAI Completion 모델 (레거이시)LmOpenAi implements INodeTypesupplyData@langchain/openai (OpenAI)AiLanguageModelopenAiApillms/LMOpenAi/LmOpenAi.node.ts
LmOllamaOllama Completion 모델 (레거이시)LmOllama implements INodeTypesupplyData@langchain/ollama (Ollama)AiLanguageModel-llms/LMOllama/LmOllama.node.ts
LmCohereCohere Completion 모델 (레거이시)LmCohere implements INodeTypesupplyData@langchain/cohere (Cohere)AiLanguageModelcohereApillms/LMCohere/LmCohere.node.ts
LmLemonadeLemonade Completion 모델 (레거이시)LmLemonade implements INodeTypesupplyDataCustomAiLanguageModellemonadeApillms/LMLemonade/LmLemonade.node.ts
LmOpenHuggingFaceInferenceHuggingFace Inference APILmOpenHuggingFaceInference implements INodeTypesupplyData@langchain/community (HuggingFaceInference)AiLanguageModelhuggingFaceApillms/LMOpenHuggingFaceInference/LmOpenHuggingFaceInference.node.ts

공통 특징:

  • 모든 LLM 노드는 ISupplyDataFunctions를 통해 LangChain 모델 인스턴스를 제공
  • listSearch.searchModels 메서드로 사용 가능한 모델 목록 동적 로드
  • N8nLlmTracing으로 LLM 호출 추적 및 로깅
  • HTTP 프록시 에이전트 지원 (getProxyAgent)
  • 실패 시 자동 재시도 핸들러 (makeN8nLlmFailedAttemptHandler)

24. Embeddings (LangChain)

텍스트를 벡터로 변환하는 Embedding 모델 노드. [LC]

노드 클래스설명파일 경로
EmbeddingsOpenAiOpenAI Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.ts
EmbeddingsAzureOpenAiAzure OpenAI Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.ts
EmbeddingsCohereCohere Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsCohere/EmbeddingsCohere.node.ts
EmbeddingsGoogleGeminiGoogle Gemini Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsGoogleGemini/EmbeddingsGoogleGemini.node.ts
EmbeddingsGoogleVertexGoogle Vertex AI Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsGoogleVertex/EmbeddingsGoogleVertex.node.ts
EmbeddingsAwsBedrockAWS Bedrock Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsAwsBedrock/EmbeddingsAwsBedrock.node.ts
EmbeddingsHuggingFaceInferenceHuggingFace Inference Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.ts
EmbeddingsOllamaOllama 로컬 Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.ts
EmbeddingsMistralCloudMistral Cloud Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.ts
EmbeddingsLemonadeLemonade Embeddings@n8n/nodes-langchain/nodes/embeddings/EmbeddingsLemonade/EmbeddingsLemonade.node.ts

25. 벡터 저장소 (LangChain)

벡터 DB와의 연동 및 조회 노드. [LC]

노드 클래스설명파일 경로
VectorStorePinecone / Insert / LoadPinecone 벡터 저장소@n8n/nodes-langchain/nodes/vector_store/VectorStorePinecone/
VectorStoreQdrantQdrant 벡터 저장소@n8n/nodes-langchain/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.ts
VectorStoreSupabase / Insert / LoadSupabase pgvector@n8n/nodes-langchain/nodes/vector_store/VectorStoreSupabase/
VectorStorePGVectorPostgreSQL pgvector@n8n/nodes-langchain/nodes/vector_store/VectorStorePgVector/VectorStorePGVector.node.ts
VectorStoreRedisRedis Vector Search@n8n/nodes-langchain/nodes/vector_store/VectorStoreRedis/VectorStoreRedis.node.ts
VectorStoreMilvusMilvus 벡터 저장소@n8n/nodes-langchain/nodes/vector_store/VectorStoreMilvus/VectorStoreMilvus.node.ts
VectorStoreWeaviateWeaviate 벡터 저장소@n8n/nodes-langchain/nodes/vector_store/VectorStoreWeaviate/VectorStoreWeaviate.node.ts
VectorStoreZep / Insert / LoadZep 벡터 저장소@n8n/nodes-langchain/nodes/vector_store/VectorStoreZep/
VectorStoreMongoDBAtlasMongoDB Atlas Vector Search@n8n/nodes-langchain/nodes/vector_store/VectorStoreMongoDBAtlas/VectorStoreMongoDBAtlas.node.ts
VectorStoreAzureAISearchAzure AI Search@n8n/nodes-langchain/nodes/vector_store/VectorStoreAzureAISearch/VectorStoreAzureAISearch.node.ts
VectorStoreInMemory / Insert / Load메모리 내 벡터 저장소 (테스트용)@n8n/nodes-langchain/nodes/vector_store/VectorStoreInMemory/

26. 메모리 (LangChain)

AI 에이전트의 대화 이력 및 메모리 관리 노드. [LC]

노드 클래스설명클래스 구현메서드출력 타입파일 경로
MemoryBufferWindow윈도우 기반 대화 이력 저장MemoryBufferWindow implements INodeTypesupplyDataAiMemorymemory/MemoryBufferWindow/MemoryBufferWindow.node.ts
MemoryManager메모리 저장소 관리MemoryManager implements INodeTypesupplyDataAiMemorymemory/MemoryManager/MemoryManager.node.ts
MemoryChatRetriever메모리에서 관련 대화 검색MemoryChatRetriever implements INodeTypesupplyDataAiMemorymemory/MemoryChatRetriever/MemoryChatRetriever.node.ts
MemoryRedisChatRedis 기반 대화 메모리MemoryRedisChat implements INodeTypesupplyDataAiMemorymemory/MemoryRedisChat/MemoryRedisChat.node.ts
MemoryPostgresChatPostgreSQL 기반 대화 메모리MemoryPostgresChat implements INodeTypesupplyDataAiMemorymemory/MemoryPostgresChat/MemoryPostgresChat.node.ts
MemoryMongoDbChatMongoDB 기반 대화 메모리MemoryMongoDbChat implements INodeTypesupplyDataAiMemorymemory/MemoryMongoDbChat/MemoryMongoDbChat.node.ts
MemoryMotorheadMotorhead 기반 대화 메모리MemoryMotorhead implements INodeTypesupplyDataAiMemorymemory/MemoryMotorhead/MemoryMotorhead.node.ts
MemoryXataXata 기반 대화 메모리MemoryXata implements INodeTypesupplyDataAiMemorymemory/MemoryXata/MemoryXata.node.ts
MemoryZepZep 기반 장기 메모리MemoryZep implements INodeTypesupplyDataAiMemorymemory/MemoryZep/MemoryZep.node.ts

참고: 모든 메모리 노드는 @langchain/community/memory 또는 관련 라이브러리를 사용하며, ISupplyDataFunctions를 통해 메모리 인스턴스를 제공합니다.


27. AI 도구 (LangChain)

에이전트가 호출할 수 있는 Tool 노드. [LC]

노드 클래스설명파일 경로
ToolCalculator수학 계산 도구@n8n/nodes-langchain/nodes/tools/ToolCalculator/ToolCalculator.node.ts
ToolCode코드 실행 도구@n8n/nodes-langchain/nodes/tools/ToolCode/ToolCode.node.ts
ToolHttpRequestHTTP 요청 실행 도구@n8n/nodes-langchain/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.ts
ToolWorkflow / V1 / V2다른 워크플로우를 도구로 호출@n8n/nodes-langchain/nodes/tools/ToolWorkflow/
ToolVectorStore벡터 저장소 검색 도구@n8n/nodes-langchain/nodes/tools/ToolVectorStore/ToolVectorStore.node.ts
ToolSerpApiSerpAPI 검색 엔진 도구@n8n/nodes-langchain/nodes/tools/ToolSerpApi/ToolSerpApi.node.ts
ToolSearXngSearXng 검색 도구@n8n/nodes-langchain/nodes/tools/ToolSearXng/ToolSearXng.node.ts
ToolWikipediaWikipedia 검색 도구@n8n/nodes-langchain/nodes/tools/ToolWikipedia/ToolWikipedia.node.ts
ToolWolframAlphaWolfram Alpha 계산 도구@n8n/nodes-langchain/nodes/tools/ToolWolframAlpha/ToolWolframAlpha.node.ts
ToolThink내부 추론 단계 도구 (Chain-of-Thought)@n8n/nodes-langchain/nodes/tools/ToolThink/ToolThink.node.ts

28. Retriever (LangChain)

벡터 저장소에서 관련 정보를 검색하는 Retriever 노드. [LC]

노드 클래스설명파일 경로
RetrieverVectorStore벡터 저장소 기본 Retriever@n8n/nodes-langchain/nodes/retrievers/RetrieverVectorStore/RetrieverVectorStore.node.ts
RetrieverContextualCompression검색 결과를 컨텍스트 기준으로 압축@n8n/nodes-langchain/nodes/retrievers/RetrieverContextualCompression/RetrieverContextualCompression.node.ts
RetrieverMultiQuery여러 쿼리로 검색 후 결과 통합@n8n/nodes-langchain/nodes/retrievers/RetrieverMultiQuery/RetrieverMultiQuery.node.ts
RetrieverWorkflow다른 워크플로우를 Retriever로 사용@n8n/nodes-langchain/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.ts

29. 텍스트 분할 및 파싱 (LangChain)

긴 텍스트를 청크로 분할하거나 LLM 출력을 파싱하는 노드. [LC]

Text Splitters:

노드 클래스설명파일 경로
TextSplitterCharacterTextSplitter문자 단위로 텍스트 분할@n8n/nodes-langchain/nodes/text_splitters/TextSplitterCharacterTextSplitter/TextSplitterCharacterTextSplitter.node.ts
TextSplitterRecursiveCharacterTextSplitter재귀적으로 구조를 유지하며 분할@n8n/nodes-langchain/nodes/text_splitters/TextSplitterRecursiveCharacterTextSplitter/TextSplitterRecursiveCharacterTextSplitter.node.ts
TextSplitterTokenSplitter토큰 단위로 텍스트 분할@n8n/nodes-langchain/nodes/text_splitters/TextSplitterTokenSplitter/TextSplitterTokenSplitter.node.ts

Output Parsers:

노드 클래스설명파일 경로
OutputParserStructuredLLM 출력을 지정된 스키마로 파싱@n8n/nodes-langchain/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.ts
OutputParserItemListLLM 출력을 리스트로 파싱@n8n/nodes-langchain/nodes/output_parser/OutputParserItemList/OutputParserItemList.node.ts
OutputParserAutofixing파싱 실패 시 자동 수정 재시도@n8n/nodes-langchain/nodes/output_parser/OutputParserAutofixing/OutputParserAutofixing.node.ts

Rerankers:

노드 클래스설명파일 경로
RerankerCohereCohere Reranker로 검색 결과 재정렬@n8n/nodes-langchain/nodes/rerankers/RerankerCohere/RerankerCohere.node.ts

Document Loaders:

노드 클래스설명파일 경로
DocumentBinaryInputLoader바이너리 입력을 문서로 로드@n8n/nodes-langchain/nodes/document_loaders/DocumentBinaryInputLoader/DocumentBinaryInputLoader.node.ts
DocumentDefaultDataLoader기본 데이터를 문서로 로드@n8n/nodes-langchain/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.ts
DocumentGithubLoaderGitHub 저장소에서 문서 로드@n8n/nodes-langchain/nodes/document_loaders/DocumentGithubLoader/DocumentGithubLoader.node.ts
DocumentJsonInputLoaderJSON 입력을 문서로 로드@n8n/nodes-langchain/nodes/document_loaders/DocumentJSONInputLoader/DocumentJsonInputLoader.node.ts

30. MCP (LangChain)

Model Context Protocol 관련 노드. [LC]

노드 클래스설명파일 경로
McpClientMCP 서버에 연결하여 도구 목록 조회 및 호출@n8n/nodes-langchain/nodes/mcp/McpClient/McpClient.node.ts
McpClientToolMCP 클라이언트의 개별 도구 노드@n8n/nodes-langchain/nodes/mcp/McpClientTool/McpClientTool.node.ts
McpTriggerMCP 프로토콜로 워크플로우 트리거@n8n/nodes-langchain/nodes/trigger/McpTrigger/McpTrigger.node.ts

31. n8n 내부 및 기타

n8n 자체 기능과 관련된 노드들.

노드 클래스설명파일 경로
N8nn8n 내부 API 호출 (워크플로우, 실행 등)nodes-base/nodes/N8n/N8n.node.ts
N8nTriggern8n 내부 이벤트 트리거nodes-base/nodes/N8nTrigger/N8nTrigger.node.ts
NoOp아무 작업 없이 통과 (디버깅용)nodes-base/nodes/NoOp/NoOp.node.ts
StickyNote캔버스 위의 메모nodes-base/nodes/StickyNote/StickyNote.node.ts
DebugHelper디버깅을 위한 데이터 확인nodes-base/nodes/DebugHelper/DebugHelper.node.ts
Simulate / SimulateTrigger테스트용 모의 데이터 생성nodes-base/nodes/Simulate/
ExecutionData현재 실행의 메타데이터 조회nodes-base/nodes/ExecutionData/ExecutionData.node.ts
N8nTrainingCustomerDatastoren8n 학습용 샘플 데이터 스토어nodes-base/nodes/N8nTrainingCustomerDatastore/N8nTrainingCustomerDatastore.node.ts
N8nTrainingCustomerMessengern8n 학습용 샘플 메신저nodes-base/nodes/N8nTrainingCustomerMessenger/N8nTrainingCustomerMessenger.node.ts
E2eTestE2E 테스트 전용 노드nodes-base/nodes/E2eTest/E2eTest.node.ts
PostBinPostBin을 통한 요청 디버깅nodes-base/nodes/PostBin/PostBin.node.ts
SshSSH 원격 연결 및 명령 실행nodes-base/nodes/Ssh/Ssh.node.ts

32. 마케팅 및 이메일 자동화

이메일 마케팅, 뉴스레터, 리드 관리 등의 마케팅 통합.

노드 클래스설명파일 경로
Mailchimp / MailchimpTrigger [T]Mailchimp 이메일 마케팅nodes-base/nodes/Mailchimp/Mailchimp.node.ts / MailchimpTrigger.node.ts
MailerLite / MailerLiteV1 / MailerLiteV2 / MailerLiteTrigger [T]MailerLite 이메일 마케팅nodes-base/nodes/MailerLite/MailerLite.node.ts / v1/MailerLiteV1.node.ts / v2/MailerLiteV2.node.ts
Mailjet / MailjetTrigger [T]Mailjet 이메일 발송 및 이벤트nodes-base/nodes/Mailjet/Mailjet.node.ts / MailjetTrigger.node.ts
ConvertKit / ConvertKitTrigger [T]ConvertKit 뉴스레터nodes-base/nodes/ConvertKit/ConvertKit.node.ts / ConvertKitTrigger.node.ts
GetResponse / GetResponseTrigger [T]GetResponse 이메일 마케팅nodes-base/nodes/GetResponse/GetResponse.node.ts / GetResponseTrigger.node.ts
Brevo / BrevoTrigger [T]Brevo (Sendinblue) 이메일 마케팅nodes-base/nodes/Brevo/Brevo.node.ts / BrevoTrigger.node.ts
Autopilot / AutopilotTrigger [T]Autopilot 마케팅 자동화nodes-base/nodes/Autopilot/Autopilot.node.ts / AutopilotTrigger.node.ts
Mautic / MauticTrigger [T]Mautic 오픈소스 마케팅 자동화nodes-base/nodes/Mautic/Mautic.node.ts / MauticTrigger.node.ts
CustomerIo / CustomerIoTrigger [T]Customer.io 고객 메시징nodes-base/nodes/CustomerIo/CustomerIo.node.ts / CustomerIoTrigger.node.ts
Emelia / EmeliaTrigger [T]Emelia 콜드 이메일nodes-base/nodes/Emelia/Emelia.node.ts / EmeliaTrigger.node.ts
Lemlist / LemlistV1 / LemlistV2 / LemlistTrigger [T]Lemlist 콜드 이메일nodes-base/nodes/Lemlist/Lemlist.node.ts / v1/LemlistV1.node.ts / v2/LemlistV2.node.ts / LemlistTrigger.node.ts
EgoiEgoi 이메일 마케팅nodes-base/nodes/Egoi/Egoi.node.ts
IterableIterable 고객 참여nodes-base/nodes/Iterable/Iterable.node.ts
SegmentSegment 고객 데이터 플랫폼nodes-base/nodes/Segment/Segment.node.ts
VeroVero 이벤트 기반 이메일nodes-base/nodes/Vero/Vero.node.ts
ActionNetworkAction Network 행동 자동화nodes-base/nodes/ActionNetwork/ActionNetwork.node.ts
MailcheckMailcheck 이메일 유효성 검사nodes-base/nodes/Mailcheck/Mailcheck.node.ts

33. 모니터링 및 관측성

시스템 모니터링, 로깅, 알림 관련 통합.

노드 클래스설명파일 경로
GrafanaGrafana 대시보드 및 알림nodes-base/nodes/Grafana/Grafana.node.ts
Splunk / SplunkV1 / SplunkV2Splunk SIEM 및 로그 분석nodes-base/nodes/Splunk/Splunk.node.ts / v1/SplunkV1.node.ts / v2/SplunkV2.node.ts
UptimeRobotUptimeRobot 웹사이트 모니터링nodes-base/nodes/UptimeRobot/UptimeRobot.node.ts
SentryIoSentry 에러 트래킹nodes-base/nodes/SentryIo/SentryIo.node.ts
PostHogPostHog 제품 분석nodes-base/nodes/PostHog/PostHog.node.ts
SecurityScorecardSecurityScorecard 보안 평가nodes-base/nodes/SecurityScorecard/SecurityScorecard.node.ts
PagerDutyPagerDuty 인시덴트 관리nodes-base/nodes/PagerDuty/PagerDuty.node.ts
MetabaseMetabase 비즈니스 인텔리젠스nodes-base/nodes/Metabase/Metabase.node.ts

34. 보안 및 인증

보안, 인증, 비밀 관리 관련 노드들.

노드 클래스설명파일 경로
OktaOkta 아이덴티티 관리nodes-base/nodes/Okta/Okta.node.ts
BitwardenBitwarden 비밀 관리nodes-base/nodes/Bitwarden/Bitwarden.node.ts
MispMISP 사이버 위협 정보nodes-base/nodes/Misp/Misp.node.ts
TheHive / TheHiveTrigger [T]TheHive SIEMnodes-base/nodes/TheHive/TheHive.node.ts / TheHiveTrigger.node.ts
TheHiveProject / TheHiveProjectTrigger [T]TheHive Projectnodes-base/nodes/TheHiveProject/TheHiveProject.node.ts / TheHiveProjectTrigger.node.ts
ElasticSecurityElastic Securitynodes-base/nodes/Elastic/ElasticSecurity/ElasticSecurity.node.ts
UrlScanIoUrlScan.io URL 안전성 검사nodes-base/nodes/UrlScanIo/UrlScanIo.node.ts
VenafiTlsProtectCloud / VenafiTlsProtectCloudTrigger [T]Venafi TLS Cloudnodes-base/nodes/Venafi/ProtectCloud/VenafiTlsProtectCloud.node.ts / VenafiTlsProtectCloudTrigger.node.ts
VenafiTlsProtectDatacenter / VenafiTlsProtectDatacenterTrigger [T]Venafi TLS Datacenternodes-base/nodes/Venafi/Datacenter/VenafiTlsProtectDatacenter.node.ts / VenafiTlsProtectDatacenterTrigger.node.ts

35. IoT 및 홈 자동화

IoT 장치 및 스마트홈 연동.

노드 클래스설명파일 경로
HomeAssistantHome Assistant 홈 자동화nodes-base/nodes/HomeAssistant/HomeAssistant.node.ts
PhilipsHuePhilips Hue 스마트 조명nodes-base/nodes/PhilipsHue/PhilipsHue.node.ts
Mqtt / MqttTrigger [T]MQTT (IoT 표준 프로토콜)nodes-base/nodes/MQTT/Mqtt.node.ts / MqttTrigger.node.ts

36. 기타 통합

위 카테고리에 해당하지 않는 기타 서비스 통합.

노드 클래스설명파일 경로
Shopify / ShopifyTrigger [T]Shopify 이코머스nodes-base/nodes/Shopify/Shopify.node.ts / ShopifyTrigger.node.ts
WooCommerce / WooCommerceTrigger [T]WooCommerce 이코머스nodes-base/nodes/WooCommerce/WooCommerce.node.ts / WooCommerceTrigger.node.ts
Magento2Adobe Commerce (Magento)nodes-base/nodes/Magento/Magento2.node.ts
StrapiStrapi CMSnodes-base/nodes/Strapi/Strapi.node.ts
ContentfulContentful CMSnodes-base/nodes/Contentful/Contentful.node.ts
GhostGhost CMSnodes-base/nodes/Ghost/Ghost.node.ts
StoryblokStoryblok CMSnodes-base/nodes/Storyblok/Storyblok.node.ts
WordpressWordPress CMSnodes-base/nodes/Wordpress/Wordpress.node.ts
Webflow / WebflowV1 / WebflowV2 / WebflowTrigger [T]Webflow 웹사이트nodes-base/nodes/Webflow/Webflow.node.ts / V1/WebflowV1.node.ts / V2/WebflowV2.node.ts / WebflowTrigger.node.ts
FigmaTrigger [T]Figma 디자인 이벤트nodes-base/nodes/Figma/FigmaTrigger.node.ts
AdaloAdalo 앱 빌더nodes-base/nodes/Adalo/Adalo.node.ts
BubbleBubble 앱 빌더nodes-base/nodes/Bubble/Bubble.node.ts
AirtopAirtop 브라우저 자동화nodes-base/nodes/Airtop/Airtop.node.ts
PhantombusterPhantomBuster 스크래핑nodes-base/nodes/Phantombuster/Phantombuster.node.ts
DhlDHL 배송 추적nodes-base/nodes/Dhl/Dhl.node.ts
Onfleet / OnfleetTrigger [T]Onfleet 라스트마일 배송nodes-base/nodes/Onfleet/Onfleet.node.ts / OnfleetTrigger.node.ts
OuraOura 웨어러블 건강 데이터nodes-base/nodes/Oura/Oura.node.ts
NasaNASA API (우주 이미지 등)nodes-base/nodes/Nasa/Nasa.node.ts
HackerNewsHacker News APInodes-base/nodes/HackerNews/HackerNews.node.ts
OpenWeatherMapOpenWeatherMap 날씨 APInodes-base/nodes/OpenWeatherMap/OpenWeatherMap.node.ts
OpenThesaurusOpenThesaurus 동의사전nodes-base/nodes/OpenThesaurus/OpenThesaurus.node.ts
LingvaNexLingvaNex 번역nodes-base/nodes/LingvaNex/LingvaNex.node.ts
RaindropRaindrop.io 북마크 관리nodes-base/nodes/Raindrop/Raindrop.node.ts
FileMakerFileMaker Pro 데이터베이스nodes-base/nodes/FileMaker/FileMaker.node.ts
ERPNextERPNext ERP 시스템nodes-base/nodes/ERPNext/ERPNext.node.ts
OdooOdoo ERP 시스템nodes-base/nodes/Odoo/Odoo.node.ts
ServiceNowServiceNow IT 서비스 관리nodes-base/nodes/ServiceNow/ServiceNow.node.ts
FreshdeskFreshdesk 고객지원nodes-base/nodes/Freshdesk/Freshdesk.node.ts
FreshserviceFreshservice IT 서비스 관리nodes-base/nodes/Freshservice/Freshservice.node.ts
HelpScout / HelpScoutTrigger [T]HelpScout 고객지원nodes-base/nodes/HelpScout/HelpScout.node.ts / HelpScoutTrigger.node.ts
Zendesk / ZendeskTrigger [T]Zendesk 고객지원nodes-base/nodes/Zendesk/Zendesk.node.ts / ZendeskTrigger.node.ts
HaloPSAHalo PSA IT 관리nodes-base/nodes/HaloPSA/HaloPSA.node.ts
ZammadZammad 고객지원nodes-base/nodes/Zammad/Zammad.node.ts
BambooHrBambooHR 인사관리nodes-base/nodes/BambooHr/BambooHr.node.ts
WorkableTrigger [T]Workable 채용 이벤트nodes-base/nodes/Workable/WorkableTrigger.node.ts
OrbitOrbit 커뮤니티 관리nodes-base/nodes/Orbit/Orbit.node.ts
Affinity / AffinityTrigger [T]Affinity CRMnodes-base/nodes/Affinity/Affinity.node.ts / AffinityTrigger.node.ts
CockpitCockpit CMSnodes-base/nodes/Cockpit/Cockpit.node.ts
GristGrist 스프레드시트nodes-base/nodes/Grist/Grist.node.ts
QuickChartQuickChart 차트 이미지 생성nodes-base/nodes/QuickChart/QuickChart.node.ts
BannerbearBannerbear 이미지/비디오 자동 생성nodes-base/nodes/Bannerbear/Bannerbear.node.ts
ApiTemplateIoApiTemplate.io 템플릿 기반 PDF/이미지 생성nodes-base/nodes/ApiTemplateIo/ApiTemplateIo.node.ts
PeekalinkPeekalink URL 미리보기nodes-base/nodes/Peekalink/Peekalink.node.ts
CortexCortex 자동화 플랫폼nodes-base/nodes/Cortex/Cortex.node.ts
BeeminderBeeminder 습관 추적nodes-base/nodes/Beeminder/Beeminder.node.ts
TimeSavedTimeSaved 커뮤니티 앱nodes-base/nodes/TimeSaved/TimeSaved.node.ts
UProcUProc 데이터 처리nodes-base/nodes/UProc/UProc.node.ts
UnleashedSoftwareUnleashed 재고 관리nodes-base/nodes/UnleashedSoftware/UnleashedSoftware.node.ts
TapfiliateTapfiliate 제휴 마케팅nodes-base/nodes/Tapfiliate/Tapfiliate.node.ts
SyncroMsp / SyncroMspV1Syncro MSP 관리nodes-base/nodes/SyncroMSP/SyncroMsp.node.ts / v1/SyncroMspV1.node.ts
NetscalerAdcCitrix NetScaler ADCnodes-base/nodes/Netscaler/ADC/NetscalerAdc.node.ts

통계 요약

구분노드 수
nodes-base (*.node.ts 파일)~525
nodes-langchain (*.node.ts 파일)~115
전체 노드 파일 수~640
Trigger 노드 (T)~100+
버전별 변형 포함 노드~80+


노드 로딩 및 실행 아키텍처

1. 노드 등록 및 로딩

노드 발견 프로세스 (packages/cli/src/load-nodes-and-credentials.ts):

// 1. 노드 패키지에서 발견
async init() {
  await this.loadNodesFromNodeModules(nodeModulesDir, 'n8n-nodes-base');
  await this.loadNodesFromNodeModules(nodeModulesDir, '@n8n/n8n-nodes-langchain');
  await this.loadNodesFromCustomDirectories();
  await this.postProcessLoaders();
}

// 2. 등록 데이터 구조
known: {
  nodes: { "n8n-nodes-base.webhook": { className: "Webhook", sourcePath: "..." } }
}
loaded: {
  nodes: { "n8n-nodes-base.webhook": LoadedClass<INodeType> }
}
types: {
  nodes: [{ name: "n8n-nodes-base.webhook", displayName: "Webhook", ... }]
}

노드 접근 (packages/workflow/src/NodeTypes.ts):

// Workflow 인스턴스를 통한 노드 타입 조회
const nodeType = workflow.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
// 반환: INodeType 인스턴스 (execute, trigger, webhook, poll 메서드 포함)

2. 워크플로우 활성화 및 노드 실행

Webhook 노드

활성화 시 (packages/cli/src/active-workflow-manager.ts:118-188):

async addWebhooks(workflow, additionalData, mode, activationMode) {
  const webhooks = workflow.getWebhooks(); // 모든 webhook 노드 수집

  for (const webhookData of webhooks) {
    const path = workflow.expression.getSimpleParameterValue(
      node, webhookData.path, mode, {}, { ...additionalData }
    );

    // database에 webhook 등록
    await this.webhookService.storeWebhook({
      workflowId: workflow.id,
      webhookPath: path,
      node: webhookData.node,  // ← 노드 이름 저장
      method: webhookData.httpMethod,
    });
  }
}

실행 시 (packages/cli/src/webhooks/live-webhooks.ts:80-151):

async executeWebhook(request: WebhookRequest, response: Response) {
  // 1. database에서 webhook 조회
  const webhook = await this.findWebhook(path, httpMethod);

  // 2. workflow 로드
  const workflowData = await this.workflowRepository.findOne({
    where: { id: webhook.workflowId }
  });

  // 3. Workflow 인스턴스 생성
  const workflow = new Workflow({ id, name, nodes, connections, nodeTypes });

  // 4. webhook 노드 찾기
  const workflowStartNode = workflow.getNode(webhook.node);  // ← 저장된 노드 이름 사용

  // 5. webhook 실행
  return await WebhookHelpers.executeWebhook(
    workflow,
    webhookData,
    workflowStartNode,  // ← 시작 노드로 전달
    ...
  );
}

실제 실행 (packages/cli/src/webhooks/webhook-helpers.ts:366-382):

async executeWebhook(...) {
  // 1. webhook 노드의 webhook() 메서드 실행
  const webhookResultData = await Container.get(WebhookService).runWebhook(
    workflow,
    webhookData,
    workflowStartNode,
    ...
  );

  // 2. WorkflowRunner를 통해 전체 워크플로우 실행
  const executionId = await Container.get(WorkflowRunner).run({
    executionMode: 'webhook',
    executionData: preparedRunExecutionData,  // webhook 노드 출력을 시작 데이터로
    workflowData,
  });
}

Trigger 노드

활성화 시 (packages/cli/src/active-workflow-manager.ts:190-281):

async addTriggersAndPollers(dbWorkflow, workflow, options) {
  const triggerNodes = workflow.getTriggerNodes();

  for (const triggerNode of triggerNodes) {
    // TriggerContext 생성 (emit 콜백 포함)
    const triggerFunctions = this.getExecuteTriggerFunctions(
      dbWorkflow, additionalData, mode, activation
    );

    // trigger() 메서드 호출
    const triggerResponse = await this.triggersAndPollers.runTrigger(
      workflow,
      triggerNode,
      triggerFunctions,
      ...
    );

    // 메모리에 저장 (계속 실행 중)
    this.activeWorkflows.add(workflow.id, { triggerResponses: [triggerResponse] });
  }
}

emit 콜백 (packages/cli/src/active-workflow-manager.ts:339-401):

getExecuteTriggerFunctions(workflowData, additionalData, mode, activation) {
  return (workflow: Workflow, node: INode) => {
    const emit = (data: INodeExecutionData[][]) => {
      // 트리거가 데이터를 emit하면 워크플로우 실행
      const executePromise = this.workflowExecutionService.runWorkflow(
        workflowData,
        node,        // ← trigger 노드
        data,        // ← emit된 데이터
        additionalData,
        mode,
      );
    };

    return new TriggerContext(workflow, node, additionalData, mode, emit);
  };
}

예시 - ManualTrigger 노드:

// nodes-base/nodes/ManualTrigger/ManualTrigger.node.ts
async trigger(this: ITriggerFunctions): Promise<ITriggerResponse> {
  const manualTriggerFunction = async () => {
    this.emit([this.helpers.returnJsonArray([{}])]);  // ← emit 호출
  };

  return { manualTriggerFunction };
}

Execute 노드 (일반 노드)

실행 시 (packages/core/src/execution-engine/workflow-execute.ts:1404-2100):

processRunExecutionData(workflow: Workflow): PCancelable<IRun> {
  return new PCancelable(async (resolve) => {
    // 실행 루프
    while (this.runExecutionData.executionData!.nodeExecutionStack.length !== 0) {
      const executionData: IExecuteData =
        this.runExecutionData.executionData!.nodeExecutionStack.shift();

      const executionNode = executionData.node;

      // 노드 실행
      const runNodeData = await this.runNode(
        workflow,
        executionData,
        this.runExecutionData,
        runIndex,
        ...
      );

      // 결과 저장
      this.runExecutionData.resultData.runData[executionNode.name] = nodeSuccessData;

      // 다음 노드들을 스택에 추가
      workflow.getChildNodes(executionNode.name).forEach((childNodeName) => {
        this.addNodeToBeExecuted(workflow, { node: childNodeName, ... });
      });
    }

    resolve(this.getFullRunData(startedAt));
  });
}

노드 실행 상세 (packages/core/src/execution-engine/workflow-execute.ts:1662-1725):

private async executeNode(workflow, node, nodeType, ...) {
  // 1. ExecuteContext 생성
  const context = new ExecuteContext(
    workflow,
    node,
    additionalData,
    mode,
    runExecutionData,
    ...
  );

  // 2. execute() 메서드 호출
  let data: INodeExecutionData[][];
  if (nodeType.execute) {
    data = await nodeType.execute.call(context);  // ← 노드의 execute() 실행
  }

  return { data, hints: context.hints };
}

3. 주요 실행 파일 및 역할

파일 경로역할주요 메서드
packages/cli/src/load-nodes-and-credentials.ts노드 발견 및 등록init(), loadNodesFromNodeModules(), postProcessLoaders()
packages/cli/src/active-workflow-manager.ts워크플로우 활성화 관리add(), addWebhooks(), addTriggersAndPollers()
packages/cli/src/webhooks/live-webhooks.tsWebhook HTTP 요청 처리executeWebhook(), findWebhook()
packages/cli/src/webhooks/webhook-helpers.tsWebhook 실행 로직executeWebhook(), evaluateResponseOptions()
packages/cli/src/workflow-runner.ts워크플로우 실행 오케스트레이션run(), runMainProcess(), enqueueExecution()
packages/cli/src/workflow-execution.service.ts워크플로우 실행 서비스runWorkflow(), runMainProcess()
packages/core/src/execution-engine/workflow-execute.ts핵심 실행 엔진processRunExecutionData(), runNode(), executeNode()
packages/core/src/execution-engine/active-workflows.ts활성 워크플로우 메모리 관리add(), remove(), trigger/poll 관리
packages/core/src/node-execution-context/trigger-context.tsTrigger 노드 컨텍스트emit(), emitError()
packages/core/src/node-execution-context/execute-context.tsExecute 노드 컨텍스트모든 IExecuteFunctions 메서드
packages/core/src/node-execution-context/webhook-context.tsWebhook 노드 컨텍스트모든 IWebhookFunctions 메서드
packages/workflow/src/NodeTypes.ts노드 타입 조회 서비스getByName(), getByNameAndVersion()
packages/workflow/src/Workflow.ts워크플로우 모델getNode(), getTriggerNodes(), getWebhooks()

4. 실행 흐름 요약

[노드 파일 작성]
  ↓
packages/nodes-base/nodes/Webhook/Webhook.node.ts
  ↓ (빌드)
dist/nodes/Webhook/Webhook.node.js
  ↓ (package.json에 등록)
{
  "n8n": {
    "nodes": ["dist/nodes/Webhook/Webhook.node.js"]
  }
}
  ↓ (서버 시작 시)
LoadNodesAndCredentials.init()
  ↓ (패키지 스캔)
loadNodesFromNodeModules('n8n-nodes-base')
  ↓ (메타데이터 등록)
known.nodes['n8n-nodes-base.webhook'] = { className: 'Webhook', sourcePath: '...' }
types.nodes.push({ name: 'n8n-nodes-base.webhook', displayName: 'Webhook', ... })
  ↓
[워크플로우 활성화]
  ↓
ActiveWorkflowManager.add(workflowId)
  ↓ (Webhook 노드인 경우)
addWebhooks() → WebhookService.storeWebhook() → database 저장
  ↓ (Trigger 노드인 경우)
addTriggersAndPollers() → runTrigger() → 메모리에 유지
  ↓
[실행 트리거]
  ↓ (Webhook)
HTTP 요청 → LiveWebhooks.executeWebhook() → WebhookHelpers.executeWebhook()
  ↓ (Trigger)
emit() 콜백 → WorkflowExecutionService.runWorkflow()
  ↓
[공통 실행 경로]
WorkflowRunner.run()
  ↓
runMainProcess() 또는 enqueueExecution()
  ↓
WorkflowExecute.processRunExecutionData()
  ↓ (실행 루프)
executeNode() → nodeType.execute.call(context)
  ↓
결과 수집 → 다음 노드를 스택에 추가
  ↓
getFullRunData() → 실행 완료

5. 노드 타입별 실행 차이점

노드 타입활성화 시실행 트리거메모리 상주실행 메서드컨텍스트
Webhookdatabase 등록 (webhook_entity)HTTP 요청 수신webhook()IWebhookFunctions
Trigger메모리 등록 + trigger() 호출emit() 콜백 호출trigger()ITriggerFunctions
Poll메모리 등록 + cron 스케줄링Cron 타이머 실행poll()IPollFunctions
Execute-워크플로우 실행 중 도달execute()IExecuteFunctions

6. 모든 노드의 실제 사용 위치 분석

핵심 원리: n8n 노드는 직접 import되지 않고 동적으로 로드됨

중요한 이해: 대부분의 노드는 코드에서 직접 import { GraphQL } from '...'처럼 import되지 않습니다. 대신 다음과 같은 동적 로딩 메커니즘을 사용합니다:

  1. 노드 정의: packages/nodes-base/nodes/GraphQL/GraphQL.node.ts에서 클래스 정의
  2. 노드 등록: packages/nodes-base/package.jsonn8n.nodes 배열에 등록
  3. 동적 로딩: LoadNodesAndCredentials 서비스가 서버 시작 시 자동 스캔
  4. 이름으로 참조: 런타임에서 노드 이름(문자열)으로 접근

전체 노드 공통 사용 패턴

1. 노드 로딩 및 등록 (모든 640개 노드 공통)

파일: packages/cli/src/load-nodes-and-credentials.ts

// 서버 시작 시 모든 노드 자동 로딩
async init() {
  await this.loadNodesFromNodeModules();
  this.postProcessLoaders();
}

// package.json에서 노드 발견
private async loadNodesFromNodeModules() {
  // 1. n8n-nodes-base/package.json 읽기
  // 2. n8n.nodes 배열에서 각 노드 경로 추출
  // 3. 노드 클래스 동적 로드
  // 예: "dist/nodes/GraphQL/GraphQL.node.js" → GraphQL 클래스

  this.known.nodes['n8n-nodes-base.graphql'] = {
    className: 'GraphQL',
    sourcePath: 'packages/nodes-base/nodes/GraphQL/GraphQL.node.ts'
  };
}

// 노드 타입 레지스트리에 저장
private postProcessLoaders() {
  this.types.nodes.push({
    name: 'n8n-nodes-base.graphql',
    displayName: 'GraphQL',
    description: 'Makes a GraphQL request...',
    // ... 모든 노드 메타데이터
  });
}

결과: 모든 노드(GraphQL, Set, Webhook, Postgres 등 640개 모두)가 NodeTypes 서비스에 등록됨.

2. 노드 조회 (런타임에서 이름으로 접근)

파일: packages/workflow/src/NodeTypes.ts

export class NodeTypes {
  // 이름으로 노드 타입 조회 (모든 노드 공통)
  getByNameAndVersion(nodeType: string, version?: number): INodeType {
    // 예: 'n8n-nodes-base.graphql' → GraphQL 노드 클래스 반환
    // 예: 'n8n-nodes-base.postgres' → Postgres 노드 클래스 반환
    return this.loadedNodes[nodeType].type;
  }
}

사용 위치:

  • packages/cli/src/webhooks/live-webhooks.ts:60 - 웹훅 노드 검증
  • packages/cli/src/active-workflow-manager.ts:전체 - 모든 노드 활성화 시
  • packages/core/src/execution-engine/workflow-execute.ts:전체 - 모든 노드 실행 시
  • packages/workflow/src/Workflow.ts:전체 - 워크플로우 구조 파싱 시

3. 워크플로우에서 노드 참조

파일: packages/workflow/src/Workflow.ts

export class Workflow {
  // 워크플로우의 모든 노드는 name(문자열)으로 저장됨
  nodes: INode[] = [
    { name: 'GraphQL', type: 'n8n-nodes-base.graphql', parameters: {...} },
    { name: 'Postgres1', type: 'n8n-nodes-base.postgres', parameters: {...} },
    { name: 'Webhook', type: 'n8n-nodes-base.webhook', parameters: {...} }
  ];

  // 이름으로 노드 찾기 (모든 노드 실행의 핵심 메서드)
  getNode(nodeName: string): INode | null {
    return this.nodes.find(node => node.name === nodeName);
  }

  // 트리거 노드만 필터링
  getTriggerNodes(): INode[] {
    return this.nodes.filter(node => {
      const nodeType = this.nodeTypes.getByNameAndVersion(node.type);
      return nodeType.trigger !== undefined;
    });
  }

  // 웹훅 노드만 필터링
  getWebhooks(): IWebhookData[] {
    const webhooks = [];
    for (const node of this.nodes) {
      const nodeType = this.nodeTypes.getByNameAndVersion(node.type);
      if (nodeType.webhook) {
        webhooks.push(/* webhook 데이터 */);
      }
    }
    return webhooks;
  }
}

노드 타입별 구체적 사용 위치

A. Webhook 노드 (Webhook, HttpRequest, ChatTrigger 등)

활성화 시: packages/cli/src/active-workflow-manager.ts:129-179

async addWebhooks(workflow, mode) {
  const webhooks = workflow.getWebhooks();  // ← 모든 webhook 노드 찾기

  for (const webhookData of webhooks) {
    // database에 저장 (webhook_entity 테이블)
    await this.webhookService.storeWebhook({
      workflowId: workflow.id,
      webhookPath: webhookData.path,
      node: webhookData.node,  // ← 노드 이름 (예: "Webhook", "HttpRequest1")
      method: webhookData.httpMethod,
    });
  }
}

실행 시: packages/cli/src/webhooks/live-webhooks.ts:71-172

async executeWebhook(request, response) {
  // 1. database에서 webhook 찾기
  const webhook = await this.findWebhook(path, httpMethod);
  // webhook.node = "Webhook" (저장된 노드 이름)

  // 2. 워크플로우 로드
  const workflow = new Workflow({ nodes, connections, nodeTypes });

  // 3. 노드 이름으로 시작 노드 찾기
  const workflowStartNode = workflow.getNode(webhook.node);  // ← 여기서 사용!

  // 4. 노드의 webhook() 메서드 실행
  return await WebhookHelpers.executeWebhook(
    workflow,
    webhookData,
    workflowStartNode,  // ← Webhook 노드 전달
    ...
  );
}

적용 노드 (package.json에서 webhook 메서드를 가진 노드):

  • Webhook (line 578) - packages/nodes-base/nodes/Webhook/Webhook.node.ts
  • HttpRequest 시리즈 (line 602-605) - packages/nodes-base/nodes/HttpRequest/
  • ChatTrigger (langchain line 89) - packages/@n8n/nodes-langchain/nodes/trigger/ChatTrigger/
  • McpTrigger (langchain line 52) - packages/@n8n/nodes-langchain/nodes/mcp/McpTrigger/
  • Form 시리즈 - packages/nodes-base/nodes/Form/

B. Trigger 노드 (ManualTrigger, ScheduleTrigger, KafkaTrigger 등)

활성화 시: packages/cli/src/active-workflow-manager.ts:190-281

async addTriggersAndPollers(workflow, mode) {
  const triggerNodes = workflow.getTriggerNodes();  // ← 모든 trigger 노드 찾기

  for (const triggerNode of triggerNodes) {
    // TriggerContext 생성 (emit 콜백 포함)
    const triggerFunctions = this.getExecuteTriggerFunctions(...);

    // trigger() 메서드 호출
    const triggerResponse = await this.triggersAndPollers.runTrigger(
      workflow,
      triggerNode,  // ← 트리거 노드 (예: ManualTrigger, KafkaTrigger)
      triggerFunctions,
    );

    // 메모리에 계속 유지
    this.activeWorkflows.add(workflow.id, { triggerResponses: [triggerResponse] });
  }
}

emit 콜백: packages/cli/src/active-workflow-manager.ts:339-401

getExecuteTriggerFunctions(workflowData) {
  return (workflow: Workflow, node: INode) => {
    const emit = (data: INodeExecutionData[][]) => {
      // 트리거가 emit하면 워크플로우 실행
      this.workflowExecutionService.runWorkflow(
        workflowData,
        node,  // ← trigger 노드 (예: "ScheduleTrigger", "KafkaTrigger")
        data,
        ...
      );
    };
    return new TriggerContext(workflow, node, additionalData, mode, emit);
  };
}

적용 노드 (package.json에서 trigger 메서드를 가진 노드, [T] 표시):

  • ManualTrigger (line 647) - packages/nodes-base/nodes/ManualTrigger/
  • ScheduleTrigger (line 744) - packages/nodes-base/nodes/Schedule/
  • KafkaTrigger (line 624) - packages/nodes-base/nodes/Kafka/
  • RabbitMQTrigger (line 723) - packages/nodes-base/nodes/RabbitMQ/
  • PostgresTrigger (line 716) - packages/nodes-base/nodes/Postgres/
  • 기타 모든 *Trigger 노드 (총 약 80개)

C. Execute 노드 (GraphQL, Set, Code, Postgres 등 대부분의 노드)

실행 시: packages/core/src/execution-engine/workflow-execute.ts:1404-2100

async processRunExecutionData(workflow: Workflow) {
  // 실행 루프 - 모든 execute 노드가 여기서 실행됨
  while (this.runExecutionData.executionData!.nodeExecutionStack.length !== 0) {
    const executionData = this.runExecutionData.executionData!.nodeExecutionStack.shift();
    const executionNode = executionData.node;  // ← 노드 이름 (예: "GraphQL1", "Set", "Code2")

    // 노드 실행
    const runNodeData = await this.runNode(
      workflow,
      executionData,
      ...
    );

    // 다음 노드들을 스택에 추가
    workflow.getChildNodes(executionNode.name).forEach((childNodeName) => {
      this.addNodeToBeExecuted(workflow, { node: childNodeName });
    });
  }
}

노드 실행 상세: packages/core/src/execution-engine/workflow-execute.ts:1662-1725

private async executeNode(workflow, node: INode, ...) {
  // 1. 노드 타입 조회 (이름으로)
  const nodeType = workflow.nodeTypes.getByNameAndVersion(node.type);
  // 예: node.type = 'n8n-nodes-base.graphql' → GraphQL 클래스 반환

  // 2. ExecuteContext 생성
  const context = new ExecuteContext(workflow, node, ...);

  // 3. execute() 메서드 호출
  let data: INodeExecutionData[][];
  if (nodeType.execute) {
    data = await nodeType.execute.call(context);  // ← 노드의 execute() 실행
  }

  return { data };
}

적용 노드 (execute 메서드를 가진 모든 노드, 약 500개):

  • GraphQL (line 578) - packages/nodes-base/nodes/GraphQL/GraphQL.node.ts
  • Set (line 752-755) - packages/nodes-base/nodes/Set/
  • Code (line 473) - packages/nodes-base/nodes/Code/Code.node.ts
  • Postgres (line 714-716) - packages/nodes-base/nodes/Postgres/
  • Slack (line 758-761) - packages/nodes-base/nodes/Slack/
  • GoogleSheets (line 567-569) - packages/nodes-base/nodes/Google/Sheet/
  • If (line 594-596) - packages/nodes-base/nodes/If/
  • Switch (line 779-781) - packages/nodes-base/nodes/Switch/
  • 기타 대부분의 노드

D. AI/LangChain 노드 (Agent, Tool, Memory, VectorStore 등)

특수한 실행 방식: packages/@n8n/nodes-langchain/nodes/agents/Agent/Agent.node.ts

AI 노드는 두 가지 방식으로 실행됩니다:

  1. 일반 노드로 실행 (execute 메서드)
async execute(this: IExecuteFunctions) {
  // workflow 실행 중 다른 노드처럼 실행됨
  // 위의 "C. Execute 노드" 패턴과 동일
}
  1. AI 컴포넌트로 실행 (supplyData 메서드)
async supplyData(this: ISupplyDataFunctions, itemIndex: number) {
  // Agent, Tool, Chain 등 LangChain 객체 반환
  // 다른 AI 노드가 연결해서 사용
  return { response: agentInstance };
}

연결 해석: packages/workflow/src/Workflow.ts

getConnectionInputData(connectionType: string, ...) {
  // AI 노드들의 동적 연결 해석
  // 예: Agent → Tool → VectorStore 연결
  const connectedNode = this.getNode(connection.node);
  const nodeType = this.nodeTypes.getByNameAndVersion(connectedNode.type);
  if (nodeType.supplyData) {
    return await nodeType.supplyData.call(context, itemIndex);
  }
}

적용 노드 (langchain package.json):

  • Agent (line 6) - packages/@n8n/nodes-langchain/nodes/agents/Agent/
  • ToolHttpRequest (line 77) - packages/@n8n/nodes-langchain/nodes/tools/ToolHttpRequest/
  • VectorStorePinecone (line 99) - packages/@n8n/nodes-langchain/nodes/vector_store/VectorStorePinecone/
  • MemoryBufferWindow (line 55) - packages/@n8n/nodes-langchain/nodes/memory/MemoryBufferWindow/
  • 기타 모든 LangChain 노드 (약 100개)

노드 이름으로 검색되는 주요 위치 정리

파일 경로메서드사용 목적적용 노드
packages/workflow/src/Workflow.ts:전체getNode(name)이름으로 노드 찾기모든 640개 노드
packages/workflow/src/Workflow.ts:getTriggerNodes()getTriggerNodes()트리거 노드 필터링Trigger 노드 (~80개)
packages/workflow/src/Workflow.ts:getWebhooks()getWebhooks()웹훅 노드 필터링Webhook 노드 (~10개)
packages/cli/src/webhooks/live-webhooks.ts:135getNode(webhook.node)웹훅 시작 노드 조회Webhook, HttpRequest, ChatTrigger 등
packages/cli/src/active-workflow-manager.ts:194getTriggerNodes()트리거 활성화ManualTrigger, ScheduleTrigger, KafkaTrigger 등
packages/cli/src/active-workflow-manager.ts:131getWebhooks()웹훅 등록Webhook, Form, HttpRequest 등
packages/core/src/execution-engine/workflow-execute.ts:1662nodeTypes.getByNameAndVersion()노드 실행모든 Execute 노드 (~500개)
packages/workflow/src/NodeTypes.ts:전체getByNameAndVersion(type)타입으로 노드 클래스 조회모든 640개 노드

package.json 등록 라인 번호와 실제 파일 매핑

nodes-base 주요 노드

노드 이름package.json 라인파일 경로사용 패턴
GraphQL578packages/nodes-base/nodes/GraphQL/GraphQL.node.tsExecute (C)
Webhook850packages/nodes-base/nodes/Webhook/Webhook.node.tsWebhook (A)
ManualTrigger647packages/nodes-base/nodes/ManualTrigger/ManualTrigger.node.tsTrigger (B)
Code473packages/nodes-base/nodes/Code/Code.node.tsExecute (C)
Set (V2)755packages/nodes-base/nodes/Set/v2/SetV2.node.tsExecute (C)
If (V2)596packages/nodes-base/nodes/If/V2/IfV2.node.tsExecute (C)
Switch (V3)781packages/nodes-base/nodes/Switch/V3/SwitchV3.node.tsExecute (C)
Postgres (V2)716packages/nodes-base/nodes/Postgres/v2/PostgresV2.node.tsExecute (C)
Slack (V2)761packages/nodes-base/nodes/Slack/V2/SlackV2.node.tsExecute (C)
GoogleSheets (V2)569packages/nodes-base/nodes/Google/Sheet/v2/GoogleSheetsV2.node.tsExecute (C)
ScheduleTrigger744packages/nodes-base/nodes/Schedule/ScheduleTrigger.node.tsTrigger (B)
HttpRequest (V3)605packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.tsExecute (C)

langchain 주요 노드

노드 이름package.json 라인파일 경로사용 패턴
Agent6packages/@n8n/nodes-langchain/nodes/agents/Agent/Agent.node.tsAI (D)
LmChatOpenAi43packages/@n8n/nodes-langchain/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.tsAI (D)
ToolHttpRequest77packages/@n8n/nodes-langchain/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.tsAI (D)
VectorStorePinecone99packages/@n8n/nodes-langchain/nodes/vector_store/VectorStorePinecone/VectorStorePinecone.node.tsAI (D)
ChatTrigger89packages/@n8n/nodes-langchain/nodes/trigger/ChatTrigger/ChatTrigger.node.tsWebhook (A)
MemoryBufferWindow55packages/@n8n/nodes-langchain/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.tsAI (D)

결론: 모든 노드는 동일한 방식으로 사용됨

핵심 요약:

  1. 노드 정의: 각 .node.ts 파일에서 클래스 정의 (640개 모두)
  2. 노드 등록: package.jsonn8n.nodes 배열에 등록 (640개 모두)
  3. 동적 로딩: LoadNodesAndCredentials가 서버 시작 시 자동 스캔 (640개 모두)
  4. 런타임 참조:
    • 노드 이름(문자열)으로 접근: workflow.getNode("GraphQL1")
    • 노드 타입(문자열)으로 클래스 조회: nodeTypes.getByNameAndVersion("n8n-nodes-base.graphql")
  5. 실행:
    • Webhook 노드 → live-webhooks.ts에서 HTTP 요청 수신 시 실행
    • Trigger 노드 → active-workflow-manager.ts에서 활성화 후 emit 콜백으로 실행
    • Execute 노드 → workflow-execute.ts의 실행 루프에서 순차 실행
    • AI 노드 → 일반 execute + supplyData 두 가지 방식

GraphQL 예시:

  • ❌ 직접 import 없음: import { GraphQL } from '...' (이런 코드는 존재하지 않음)
  • ✅ 동적 로딩: LoadNodesAndCredentialsNodeTypes 레지스트리
  • ✅ 이름으로 참조: workflow.getNode("GraphQL1") → GraphQL 노드 인스턴스
  • ✅ 타입으로 조회: nodeTypes.getByNameAndVersion("n8n-nodes-base.graphql") → GraphQL 클래스
  • ✅ 실행: workflow-execute.tsexecuteNode()에서 graphqlNode.execute() 호출

이 패턴은 모든 640개 노드에 동일하게 적용됩니다.


문서 버전: 3.0 | 생성일: 2026-02-04 | 업데이트: 2026-02-09 | 소스: 실제 코드베이스 분석

profile
AI 탐사대

0개의 댓글