고객이 정의한 이상적인 고객 프로필 v3
이것은Product, Marketing분야의자동화 워크플로우로, 10개의 노드를 포함합니다.주로 AirtopTool, GoogleDocs, Agent, ChatTrigger, LmChatAnthropic 등의 노드를 사용하며. 사용하여 Airtop과 Claude AI로 LinkedIn 데이터에서 이상적인 고객 프로필을 생성합니다.
- •Anthropic API Key
{
"id": "FRafOpo1JyVJmZQd",
"meta": {
"instanceId": "28a947b92b197fc2524eaba16e57560338657b2b0b5796300b2f1cedc1d0d355",
"templateCredsSetupCompleted": true
},
"name": "Define ICP from Customers v3",
"tags": [
{
"id": "gNiDOCnjqCXR7phD",
"name": "Marketing",
"createdAt": "2025-04-15T01:08:25.516Z",
"updatedAt": "2025-04-15T01:08:25.516Z"
}
],
"nodes": [
{
"id": "6d6495da-12f7-4768-97d2-e06cf1449829",
"name": "채팅 메시지 수신 시",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-440,
120
],
"webhookId": "668cdf30-a5a6-4589-a0b4-857fc3ee23c1",
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "7664b5a1-ca45-4e97-9eb3-745762167cc2",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-220,
120
],
"parameters": {
"options": {
"systemMessage": "# AI Marketing Agent: ICP Analyst\n\nYou are an expert marketing professional specializing in Ideal Customer Profile (ICP) analysis and scoring. Your primary purpose is to help businesses identify and understand their most valuable customer segments.\n\n## Core Capabilities:\n- Process and analyze LinkedIn Profile URLs of active customers\n- Utilize data enrichment tools to gather comprehensive information about each customer\n- Generate detailed ICP definitions based on multi-dimensional data analysis\n- Create custom scoring functions to evaluate potential customer fit against the ICP\n- Provide actionable insights to optimize marketing and sales targeting\n\n## Data Processing Instructions:\n- You will receive LinkedIn Profile URLs of active customers\n- Multiple profiles may be provided in a single request, separated by spaces and/or commas\n- When multiple profiles are provided, you will use the data enrichment tool to enrich them one after another\n- You will parse the input to correctly identify and separate each individual LinkedIn URL\n- You will maintain organized records of all profile data to ensure comprehensive analysis\n- You will track patterns and anomalies across the entire dataset\n\n## Workflow:\n1. You will receive one or more LinkedIn Profile URLs of active customers\n2. You will parse the input to identify each distinct URL, regardless of whether they're separated by spaces, commas, or both\n3. For each URL provided, you will automatically use the data enrichment tool to collect detailed information\n4. You will analyze patterns across company size, industry, job titles, technologies used, growth stage, engagement history, and other relevant parameters\n5. When asked to define the ICP, you will synthesize all available customer data to create a comprehensive profile\n6. You will present your ICP analysis with clear rationale for why certain attributes are significant\n7. You will develop a customized scoring model to evaluate new prospects against the established ICP\n8. You will write a Google search engine boolean prompt that returns linkedin profiles of people that match the job titles of this ICP \n\n## Output Format:\nFor ICP definitions, structure your output to include:\n- List of the customers that this ICP definition is based on, including linkedin URLs\n- Executive Summary: Brief overview of the ICP characteristics\n- Key Attributes: Detailed breakdown of significant traits (demographics, firmographics, technographics, etc.)\n- Weighting: Importance level of each attribute in the overall ICP\n- Exclusion Criteria: Characteristics that indicate poor fit\n- Scoring Methodology: Explanation of how prospects should be scored\n- A prompt that calculates an ICP score for new prospects\n- A google boolean search query thatwill reurn linkedin profile of people with matching job titles"
}
},
"typeVersion": 1.9
},
{
"id": "5fbb25a3-0ebb-433a-8920-f57953689116",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
-440,
400
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"id": "npcV2ZKvGmXTUIj9",
"name": "Cesar's Key"
}
},
"typeVersion": 1.3
},
{
"id": "681e4106-98cc-44e5-bb8e-03e6a97acfa8",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-260,
400
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "c52606ed-1bab-41f1-9328-efadb123ac58",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-580,
0
],
"parameters": {
"color": 4,
"width": 840,
"height": 280,
"content": "\n## Ideal Customer Profile (ICP) Airtop Agent\n### Find your perfect customers faster.\nAirtop's AI agent defines your ICP with a few examples of your current best customers\n"
},
"typeVersion": 1
},
{
"id": "40075d6c-0082-4cd2-90c4-9589183084d8",
"name": "Airtop Data Enrichment",
"type": "n8n-nodes-base.airtopTool",
"position": [
160,
380
],
"parameters": {
"url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', ``, 'string') }}",
"prompt": "This is a LinkedIn profile. Extract the following information:\n\n- Name: The full name of the person\n- Headline: The professional headline\n- Location: The location of the person\n- Current Company: The current company the person works for\n- Current Position: The current position at the company\n- About: The about section text\n- Experience: For each position (up to 10):\n - Company Name: The name of the company\n - Position: The position held\n - Duration: The time period worked at the company\n - Location: The location of the job\n - Description: The description of the role\n- Education: For each education entry (up to 5):\n - Institution: The name of the educational institution\n - Degree: The degree obtained\n - Field of Study: The field of study\n - Duration: The time period of education\n - Description: Any additional information about the education\n- Skills: List of skills (up to 50)\n- Certifications: For each certification (up to 10):\n - Name: The name of the certification\n - Issuing Organization: The organization that issued the certification\n - Issue Date: When the certification was issued\n - Expiration Date: When the certification expires (if applicable)\n- Languages: List of languages and proficiency levels\n- Connections: The number of connections\n- Recommendations: The number of recommendations received",
"resource": "extraction",
"operation": "query",
"profileName": "AmirLinkedin",
"sessionMode": "new",
"descriptionType": "manual",
"toolDescription": "Call this Data Enrichment tool to get detailed information about a person.\nYou need to provide the Linkedin Profile URL of the person.",
"additionalFields": {
"outputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The full name of the person\"\n },\n \"headline\": {\n \"type\": \"string\",\n \"description\": \"The professional headline\"\n },\n \"location\": {\n \"type\": \"string\",\n \"description\": \"The location of the person\"\n },\n \"current_company\": {\n \"type\": \"string\",\n \"description\": \"The current company the person works for\"\n },\n \"current_position\": {\n \"type\": \"string\",\n \"description\": \"The current position at the company\"\n },\n \"about\": {\n \"type\": \"string\",\n \"description\": \"The about section text\"\n },\n \"experience\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"company_name\": {\n \"type\": \"string\",\n \"description\": \"The name of the company\"\n },\n \"position\": {\n \"type\": \"string\",\n \"description\": \"The position held\"\n },\n \"duration\": {\n \"type\": \"string\",\n \"description\": \"The time period worked at the company\"\n },\n \"location\": {\n \"type\": \"string\",\n \"description\": \"The location of the job\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"The description of the role\"\n }\n },\n \"required\": [\n \"company_name\",\n \"position\",\n \"duration\",\n \"location\",\n \"description\"\n ],\n \"additionalProperties\": false\n }\n },\n \"education\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"institution\": {\n \"type\": \"string\",\n \"description\": \"The name of the educational institution\"\n },\n \"degree\": {\n \"type\": \"string\",\n \"description\": \"The degree obtained\"\n },\n \"field_of_study\": {\n \"type\": \"string\",\n \"description\": \"The field of study\"\n },\n \"duration\": {\n \"type\": \"string\",\n \"description\": \"The time period of education\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Any additional information about the education\"\n }\n },\n \"required\": [\n \"institution\",\n \"degree\",\n \"field_of_study\",\n \"duration\",\n \"description\"\n ],\n \"additionalProperties\": false\n }\n },\n \"skills\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"List of skills\"\n },\n \"certifications\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"The name of the certification\"\n },\n \"issuing_organization\": {\n \"type\": \"string\",\n \"description\": \"The organization that issued the certification\"\n },\n \"issue_date\": {\n \"type\": \"string\",\n \"description\": \"When the certification was issued\"\n },\n \"expiration_date\": {\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"description\": \"When the certification expires (if applicable)\"\n }\n },\n \"required\": [\n \"name\",\n \"issuing_organization\",\n \"issue_date\",\n \"expiration_date\"\n ],\n \"additionalProperties\": false\n }\n },\n \"languages\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"language\": {\n \"type\": \"string\",\n \"description\": \"The language\"\n },\n \"proficiency\": {\n \"type\": \"string\",\n \"description\": \"The proficiency level\"\n }\n },\n \"required\": [\n \"language\",\n \"proficiency\"\n ],\n \"additionalProperties\": false\n },\n \"description\": \"List of languages and proficiency levels\"\n },\n \"connections\": {\n \"type\": \"integer\",\n \"description\": \"The number of connections\"\n },\n \"recommendations\": {\n \"type\": \"integer\",\n \"description\": \"The number of recommendations received\"\n }\n },\n \"required\": [\n \"name\",\n \"headline\",\n \"location\",\n \"current_company\",\n \"current_position\",\n \"about\",\n \"experience\",\n \"education\",\n \"skills\",\n \"certifications\",\n \"languages\",\n \"connections\",\n \"recommendations\"\n ],\n \"additionalProperties\": false,\n \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n}"
}
},
"credentials": {
"airtopApi": {
"id": "Yi4YPNnovLVUjFn5",
"name": "Airtop Official Org"
}
},
"typeVersion": 1
},
{
"id": "6196bb76-9dfd-49d3-8314-714692894a5b",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-100,
320
],
"parameters": {
"width": 360,
"height": 220,
"content": "## IMPORTANT\n\n1. Create an [Airtop Profile here](https://portal.airtop.ai/browser-profiles) \n\n2. Connect it to Linkedin\n\n3. Enter the Profile Name here"
},
"typeVersion": 1
},
{
"id": "fb7e43a6-91fd-4c6f-86f0-62e815eb02f1",
"name": "Google Docs",
"type": "n8n-nodes-base.googleDocs",
"disabled": true,
"position": [
320,
120
],
"parameters": {
"title": "=ICP Profile {{ new Date().toISOString().slice(0,16).replace('T', '_').replace(/:/g, '-') }}\n",
"folderId": "1ACMJkcnd0F8cDNrT8a1YVLfs3fDfm3oy"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "vPM9VHGiJH3SL2YL",
"name": "Amir - Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "ba12cf29-b04f-4bdc-a051-e4521a3967ff",
"name": "Google Docs1",
"type": "n8n-nodes-base.googleDocs",
"disabled": true,
"position": [
460,
120
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "={{ $('AI Agent').item.json.output }}",
"action": "insert"
}
]
},
"operation": "update",
"documentURL": "={{ $json.id }}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "vPM9VHGiJH3SL2YL",
"name": "Amir - Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "67326799-cb72-4d5e-b09f-5d01f776d02f",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1460,
-240
],
"parameters": {
"width": 840,
"height": 1080,
"content": "README\n# Define Your ICP from Customer LinkedIn Profiles\n## Use Case\nThis automation helps marketing and sales teams define their Ideal Customer Profile (ICP) using real LinkedIn profiles of current high-fit customers. By enriching and analyzing profile data, it generates a clear ICP definition and scoring methodology for future targeting.\n\n## What This Automation Does\nThis automation analyzes LinkedIn profiles of your existing customers and produces:\n- A structured ICP definition\n- A scoring model to evaluate future prospects\n- A Google Boolean search string to find similar prospects\n\nInput:\n- LinkedIn profile URLs of existing high-fit customers (e.g., `https://www.linkedin.com/in/maxtkacz/`)\n\nOutput:\n- A Google Doc containing the ICP analysis and scoring methodology\n\n## How It Works\n1. **Trigger**: Waits for a chat message containing one or more LinkedIn profile URLs.\n2. **AI Agent**: Parses and processes the URLs.\n3. **Airtop Data Enrichment**: Uses Airtop to extract structured information from each LinkedIn profile (e.g., job title, company, experience, skills).\n4. **Memory**: Maintains state between inputs for consistent analysis.\n5. **LLM Analysis**: Uses Claude 3.7 Sonnet to synthesize enriched data into a meaningful ICP.\n6. **Google Docs**: Automatically creates a new doc with a timestamped title and appends the ICP definition.\n\n## Setup Requirements\n1. [Airtop Profile](https://portal.airtop.ai/browser-profiles) connected to LinkedIn, Insert the profile name in the Airtop Tool\n2. Airtop API credentials\n3. If you choose to activate saving the profiles in Google Docs you will need OAuth2 credentials (or just copy the ICP definition from the chat)\n\n## Next Steps\n- **Use the ICP for Scoring**: Feed new LinkedIn profiles through the same Airtop enrichment and use the scoring function to evaluate fit.\n- **Automate Target Discovery**: Plug the Boolean search output into LinkedIn, Google, or People Data Labs for ICP-matching lead generation.\n- **Refine Continuously**: Repeat the workflow as your customer base grows or segments evolve.\n\n"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {
"When chat message received": [
{
"json": {
"action": "sendMessage",
"chatInput": "https://www.linkedin.com/in/maxtkacz/ https://www.linkedin.com/in/nateherkelman/",
"sessionId": "ef46e7ad0b5643b7abccd8efc501cac9"
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "bdd762ca-1362-4f8b-b0d6-fd3b402d4dba",
"connections": {
"7664b5a1-ca45-4e97-9eb3-745762167cc2": {
"main": [
[
{
"node": "fb7e43a6-91fd-4c6f-86f0-62e815eb02f1",
"type": "main",
"index": 0
}
]
]
},
"fb7e43a6-91fd-4c6f-86f0-62e815eb02f1": {
"main": [
[
{
"node": "ba12cf29-b04f-4bdc-a051-e4521a3967ff",
"type": "main",
"index": 0
}
]
]
},
"681e4106-98cc-44e5-bb8e-03e6a97acfa8": {
"ai_memory": [
[
{
"node": "7664b5a1-ca45-4e97-9eb3-745762167cc2",
"type": "ai_memory",
"index": 0
}
]
]
},
"5fbb25a3-0ebb-433a-8920-f57953689116": {
"ai_languageModel": [
[
{
"node": "7664b5a1-ca45-4e97-9eb3-745762167cc2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"40075d6c-0082-4cd2-90c4-9589183084d8": {
"ai_tool": [
[
{
"node": "7664b5a1-ca45-4e97-9eb3-745762167cc2",
"type": "ai_tool",
"index": 0
}
]
]
},
"6d6495da-12f7-4768-97d2-e06cf1449829": {
"main": [
[
{
"node": "7664b5a1-ca45-4e97-9eb3-745762167cc2",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 제품, 마케팅
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Airtop
@cesar-at-airtopAirtop provides an intelligent browser automation API for AI agents, enabling seamless web interaction, including login, navigation, and data extraction from any site, even those with complex authentication - all with natural language instructions.In simple terms, we allow you to automate anything humans can do online, on any site with just words
이 워크플로우 공유