使用Bright Data、Cal.com和Airtable自动化会议准备与线索
高级
这是一个Sales, AI领域的自动化工作流,包含 23 个节点。主要使用 Set, Gmail, Filter, Switch, Webhook 等节点,结合人工智能技术实现智能自动化。 使用Bright Data、Cal.com和Airtable自动化会议准备与线索丰富
前置要求
- •Google 账号和 Gmail API 凭证
- •HTTP Webhook 端点(n8n 会自动生成)
- •Airtable API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "db80165df40cb07c0377167c050b3f9ab0b0fb04f0e8cae0dc53f5a8527103ca",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "f359d12b-3c06-4f6b-9ac6-4acb852e6c05",
"name": "Map needed fields",
"type": "n8n-nodes-base.set",
"position": [
460,
60
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "332ac717-6d9e-4bb1-a29c-415f2519f7d0",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "f94cd637-1254-4d50-af94-7a1d5e9b135f",
"name": "description",
"type": "string",
"value": "={{ $json.additionalNotes }}"
},
{
"id": "c527097e-949d-4a34-a1bd-ef47105c064f",
"name": "videoCallUrl",
"type": "string",
"value": "={{ $json.metadata.videoCallUrl }}"
},
{
"id": "ceb36c00-ced6-49a6-8fd5-81feebb62cc9",
"name": "status",
"type": "string",
"value": "={{ $json.status }}"
},
{
"id": "1b49259d-fe8d-4582-b8d9-0cc4eee83e83",
"name": "length",
"type": "number",
"value": "={{ $json.length }}"
},
{
"id": "fee35065-650b-4b94-96f9-6dcf4306fc69",
"name": "name",
"type": "string",
"value": "={{ $json.responses.name.value }}"
},
{
"id": "0372c2d0-abe2-42c0-8a3e-45be7e802e1d",
"name": "email",
"type": "string",
"value": "={{ $json.responses.email.value }}"
},
{
"id": "de9e48b5-02b0-4648-bd61-c4391cdc216d",
"name": "responsesnotes",
"type": "string",
"value": "={{ $json.responses.notes.value }}"
},
{
"id": "4afed284-dc20-450a-85bb-3a676a382411",
"name": "startTime",
"type": "string",
"value": "={{ $json.startTime }}"
},
{
"id": "4ba399f9-3df0-4437-86e8-f2bf5a67aa61",
"name": "endTime",
"type": "string",
"value": "={{ $json.endTime }}"
},
{
"id": "753b9aca-a068-4f0e-ace1-827edaac1a62",
"name": "agenda",
"type": "string",
"value": "={{ $json.responses.title.value || $json.responses.agenda.value}}"
},
{
"id": "ee9dd182-9a1c-4c45-ae4b-9ec3949b9033",
"name": "purpose",
"type": "string",
"value": "={{ $json.userFieldsResponses.purpose.label }}"
},
{
"id": "fdc9ecf9-a14f-41e5-9d8a-7fc61afbb35b",
"name": "Linkedin",
"type": "string",
"value": "={{ $json.responses.Linkedin.value }}"
},
{
"id": "a9e1537e-ba15-4ee6-be86-dc48f32cbfac",
"name": "business-website",
"type": "string",
"value": "={{ $json.responses['business-website'].value }}"
},
{
"id": "8fa1ba2d-a080-4158-a7ef-d933389239dc",
"name": "Guest",
"type": "string",
"value": "={{ $json.responses.guests.value[0] }}"
},
{
"id": "f7d07121-64bf-4b96-a916-f31a639920bb",
"name": "iCalUID",
"type": "string",
"value": "={{ $json.iCalUID }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "552b5079-df32-45dd-8808-0b549cb4682d",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-160,
60
],
"webhookId": "83231439-9c32-443c-86ea-8645f3d76640",
"parameters": {
"path": "83231439-9c32-443c-86ea-8645f3d76640",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "da2e6463-dcf3-4c29-a469-d893404d08d4",
"name": "create json",
"type": "n8n-nodes-base.set",
"position": [
280,
60
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{ $json.body.payload }}"
},
"typeVersion": 3.4
},
{
"id": "650ba393-c127-4676-bbdf-b6b3276b6c33",
"name": "If has linkedin",
"type": "n8n-nodes-base.filter",
"position": [
820,
60
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "74273d5b-b315-4f94-be05-ab2237fe7143",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('Map needed fields').first().json.Linkedin }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "eed1b925-f458-4fcb-b840-efeb4a74dc62",
"name": "Edit bio",
"type": "n8n-nodes-base.set",
"position": [
1140,
60
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b0eb19b6-7dec-40ad-8ccb-7fc1e1ebdd85",
"name": "name",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "3a213d32-a17d-46d1-848a-64b759677ca3",
"name": "city",
"type": "string",
"value": "={{ $json.city }}"
},
{
"id": "1273634d-efd2-4fc0-a821-df9d3fea06a8",
"name": "country_code",
"type": "string",
"value": "={{ $json.country_code }}"
},
{
"id": "08485677-973e-438a-a9f3-8b62d64a0ff4",
"name": "position",
"type": "string",
"value": "={{ $json.position }}"
},
{
"id": "c15f6f1e-11cf-40fb-b9ac-e216fc3760d7",
"name": "about",
"type": "string",
"value": "={{ $json.about }}"
},
{
"id": "49ea1e20-a376-4d67-9b2c-19371ea23174",
"name": "current_company",
"type": "string",
"value": "={{ $json.current_company.name }}"
},
{
"id": "85e53350-bf31-4a69-aed6-4fe7a2bd0d33",
"name": "current_company",
"type": "string",
"value": "={{ $json.current_company.link }}"
},
{
"id": "68ca9297-4b0e-45de-8a09-5e9a4ed1bfac",
"name": "experience",
"type": "array",
"value": "={{ $json.experience.map(item => item.positions) }}"
},
{
"id": "8b2d2663-b254-43f1-b11a-3d5f3e76140b",
"name": "url",
"type": "string",
"value": "={{ $json.url }}"
},
{
"id": "58086e21-6200-4afb-9588-fd5fafffa807",
"name": "educations_details",
"type": "string",
"value": "={{ $json.educations_details }}"
},
{
"id": "9a583f42-0a83-4419-82a4-56abb6d35bb7",
"name": "followers",
"type": "number",
"value": "={{ $json.followers }}"
},
{
"id": "e3031132-32d4-446e-bcdc-4265c3ea171d",
"name": "connections",
"type": "number",
"value": "={{ $json.connections }}"
},
{
"id": "8abda043-2f59-4eb5-a272-ee40cbbab368",
"name": "activity",
"type": "array",
"value": "={{ $json.activity }}"
},
{
"id": "2268fcc1-9556-41d9-83f4-17c18f560629",
"name": "current_company name",
"type": "string",
"value": "={{ $json.current_company.name }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "01f093cb-3cb1-4e75-80fd-0a181e24d21d",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
1360,
420
],
"parameters": {
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "DjsDsrPkJRSfqINF",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "95311415-caa6-4e18-bdd9-1a1f700f3690",
"name": "Update lead data",
"type": "n8n-nodes-base.airtable",
"position": [
1320,
-60
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appiSZ70ow7uVxv7t",
"cachedResultUrl": "https://airtable.com/appiSZ70ow7uVxv7t",
"cachedResultName": "Appointments & Calls Manager"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbljEjTMx1j4MQ8fV",
"cachedResultUrl": "https://airtable.com/appiSZ70ow7uVxv7t/tbljEjTMx1j4MQ8fV",
"cachedResultName": "Lead Enrichment"
},
"columns": {
"value": {
"city": "={{ $('Edit bio').item.json.city }}",
"about": "={{ $('Edit bio').item.json.about }}",
"company": "={{ $('Edit bio').item.json['current_company name'] }}",
"country": "={{ $('Edit bio').item.json.country_code }}",
"full_name": "={{ $('Edit bio').item.json.name }}",
"job_title": "={{ $('Edit bio').item.json.position }}",
"public_id": "={{ $('Scrap Linkedin').item.json.id }}",
"experiences": "={{ $json.experience?.toJsonString() }}",
"linkedin_url": "={{ $('Map needed fields').item.json.Linkedin }}",
"follower_count": "={{ $('Edit bio').item.json.followers }}",
"Appointments & Calls": "={{ $('Map needed fields').item.json.title }}",
"company_linkedin_url": "={{ $json.current_company }}"
},
"schema": [
{
"id": "full_name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "full_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "about",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "about",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "city",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "city",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_description",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "company_description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_domain",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "company_domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_employee_range",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "company_employee_range",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_industry",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "company_industry",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_linkedin_url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "company_linkedin_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_website",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "company_website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "connection_count",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "connection_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "country",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "country",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "current_company_join_year",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "current_company_join_year",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "experiences",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "experiences",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "first_name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "first_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "follower_count",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "follower_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "headline",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "headline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "job_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "linkedin_url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "linkedin_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "public_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "public_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Appointments & Calls",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Appointments & Calls",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "CAa937hASXcJZWTv",
"name": "Airtable Personal Access Token account✅"
}
},
"typeVersion": 2.1
},
{
"id": "2e9f499d-6889-4e72-88ba-cb11856b5b91",
"name": "Meeting Prep Agent",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1340,
160
],
"parameters": {
"text": "={{ $json?.toJsonString() }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=You are an AI assistant specializing in generating meeting preparation documents for business professionals. Your goal is to analyze provided data (specifically LinkedIn profiles and meeting agendas) and synthesize it into actionable insights to facilitate productive introductory calls. You are detail-oriented, organized, and capable of extracting key information and identifying relevant connections.\n\n**Task:**\n\nGenerate a comprehensive meeting preparation document for an introductory call with a prospect, based on the LinkedIn profile data and meeting agenda provided. The output should follow the format described below and be tailored to the specific information in the input data.\n\n**Input Format:**\n\nYou will receive a JSON object containing a LinkedIn profile and a string containing the meeting agenda. The LinkedIn profile will contain fields such as `name`, `position`, `about`, `experience`, `activity` and other relevant details. The `experience` field is an array of job objects, each containing `title`, `company`, `description`, etc. The `activity` field is an array of the users' recent LinkedIn likes.\n\n**Output Format:**\n\nThe output should be a well-formatted document, easily readable and actionable, adhering to the following structure:"
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "954fe099-0861-4c60-998a-431712e4f322",
"name": "Add to CRM",
"type": "n8n-nodes-base.airtable",
"position": [
640,
60
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appiSZ70ow7uVxv7t",
"cachedResultUrl": "https://airtable.com/appiSZ70ow7uVxv7t",
"cachedResultName": "Appointments & Calls Manager"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl9JXgSsQyVLE3tV",
"cachedResultUrl": "https://airtable.com/appiSZ70ow7uVxv7t/tbl9JXgSsQyVLE3tV",
"cachedResultName": "Appointments and calls"
},
"columns": {
"value": {
"Name": "={{ $json.name }}",
"Email": "={{ $json.email }}",
"Notes": "={{ $json.description }}",
"Source": "Cal.com",
"Status": "Booked",
"Meeting": "={{ $json.title }}",
"iCalUID": "={{ $json.iCalUID }}",
"Accepted": "={{ $json.status.toSentenceCase() }}",
"End-time": "={{ $json.endTime.toDateTime() }}",
"Linkedin": "={{ $json.Linkedin }}",
"Start-time": "={{ $json.startTime.toDateTime() }}",
"Meeting Link": "={{ $json.videoCallUrl }}",
"business-website": "={{ $json['business-website'] }}",
"Reason For Schedule": "={{ $json.agenda }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Meeting",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Notes",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Notes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Lead data",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Lead data",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "Booked",
"value": "Booked"
},
{
"name": "No Show",
"value": "No Show"
},
{
"name": "Done",
"value": "Done"
},
{
"name": "Rescheduled",
"value": "Rescheduled"
},
{
"name": "Showed Up",
"value": "Showed Up"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "dateTime",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Start-time",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Start-time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "End-time",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "End-time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Accepted",
"type": "options",
"display": true,
"options": [
{
"name": "Accepted",
"value": "Accepted"
},
{
"name": "accepted",
"value": "accepted"
},
{
"name": "needsAction",
"value": "needsAction"
},
{
"name": "declined",
"value": "declined"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Accepted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Meeting Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Open Meeting",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Open Meeting",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source",
"type": "options",
"display": true,
"options": [
{
"name": "Cal.com",
"value": "Cal.com"
},
{
"name": "G calendar",
"value": "G calendar"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Source",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "updated",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "updated",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Outcome",
"type": "options",
"display": true,
"options": [
{
"name": "Positive",
"value": "Positive"
},
{
"name": "Negative",
"value": "Negative"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Outcome",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting_prep",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Meeting_prep",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Calendar Link",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Calendar Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Created",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reason For Schedule",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Reason For Schedule",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "business-website",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "business-website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Linkedin",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Linkedin",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "about (from Lead data)",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "about (from Lead data)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created time",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Created time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "How did the meeting go?",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "How did the meeting go?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Extra notes",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Extra notes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "FOLLOW UP",
"type": "options",
"display": true,
"options": [
{
"name": "",
"value": ""
},
{
"name": "Sent",
"value": "Sent"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "FOLLOW UP",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "iCalUID",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "iCalUID",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "CAa937hASXcJZWTv",
"name": "Airtable Personal Access Token account✅"
}
},
"typeVersion": 2.1
},
{
"id": "19049aeb-3b17-499d-a9f9-37bedaf3c340",
"name": "Route events",
"type": "n8n-nodes-base.switch",
"position": [
60,
60
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "BOOKING_CREATED",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.triggerEvent }}",
"rightValue": "BOOKING_CREATED"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "1b6ed86d-bd2b-488d-abdf-b83fdae2276b",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
260,
-160
],
"parameters": {
"width": 720,
"height": 80,
"content": "## Cal.com Meeting Prep Agent with Bright Data API"
},
"typeVersion": 1
},
{
"id": "c64cf170-1576-4fcd-b977-1a429d20775f",
"name": "Scrap Linkedin",
"type": "@brightdata/n8n-nodes-brightdata.brightData",
"position": [
980,
60
],
"parameters": {
"urls": "=[{\"url\":\"{{ $('Map needed fields').item.json.Linkedin }}\"}]",
"resource": "webScrapper",
"dataset_id": {
"__rl": true,
"mode": "list",
"value": "gd_l1viktl72bvl7bjuj0",
"cachedResultName": "LinkedIn people profiles"
},
"requestOptions": {}
},
"credentials": {
"brightdataApi": {
"id": "jC05AXjztTfYsOeL",
"name": "BrightData account Zack"
}
},
"typeVersion": 1
},
{
"id": "30a77cf2-baa3-4c82-a3e7-13f8135db38d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
0
],
"parameters": {
"width": 460,
"height": 260,
"content": "## Summary\n\nCapture the webhook from cal.com for new bookings\n\nEnsure you have a field on the form to collect linkedin posts. This can be optional or mandatory depending on your preferences\n\nWhen a new event is booked, we will be adding the leads to an airtable CRM for appointments and new bookings. This table will contain all the items and items needed\n\nIf the lead has linkedin then we do a research on linkedin for their content and posts and perform a lead enrichment to get as much info as we can about the leads and create a new meeting prep\n"
},
"typeVersion": 1
},
{
"id": "c8786d8b-529d-4af8-a392-e5b2a5e653ae",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-200,
-60
],
"parameters": {
"width": 200,
"height": 400,
"content": "Receive webhook on a new meeting booked"
},
"typeVersion": 1
},
{
"id": "7e245466-782e-4d89-b22a-908e67813226",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-60
],
"parameters": {
"width": 340,
"height": 400,
"content": "Split the object data into a json for easy mapping\n\nYou can drag and drop the fields you have on the `Map Needed fields` node"
},
"typeVersion": 1
},
{
"id": "292d8261-1e4c-441b-a970-88c61ad32b27",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
-60
],
"parameters": {
"width": 180,
"height": 400,
"content": "Add the leads to your CRM\n\nMake a copy of this [Airtable CRM](https://airtable.com/appiSZ70ow7uVxv7t/shrvmFKqRYGX6iUZY) \n\nYou can use any CRM of choice for this\n\n"
},
"typeVersion": 1
},
{
"id": "fa69af0a-561e-4834-8229-41e0ded2b3f1",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
-60
],
"parameters": {
"width": 480,
"height": 380,
"content": "Filter only leads with linkedin urls and send this to Bright Data API.\n\nGet a copy of the API and select the dataset we want. In this case we are researching for the leads Profile on Linkedin"
},
"typeVersion": 1
},
{
"id": "4a6c0152-da5b-459b-ad04-201be06ba209",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1300,
-140
],
"parameters": {
"width": 260,
"height": 240,
"content": "Add the new enriched leads data to the leads table "
},
"typeVersion": 1
},
{
"id": "38c458fe-10d7-4ad7-8f92-a3ebd374010e",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1300,
120
],
"parameters": {
"width": 900,
"height": 280,
"content": "Create a meeting Prep and Share via email"
},
"typeVersion": 1
},
{
"id": "424aac19-9d96-4447-8e4e-29e51c33a872",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
20,
-60
],
"parameters": {
"width": 200,
"height": 400,
"content": "You can route the data based on other Cal events eg Meeting started, ended etc"
},
"typeVersion": 1
},
{
"id": "29f09e3f-e477-4168-8c91-befde3e47ea6",
"name": "Update meeting summary",
"type": "n8n-nodes-base.airtable",
"position": [
2020,
160
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appiSZ70ow7uVxv7t",
"cachedResultUrl": "https://airtable.com/appiSZ70ow7uVxv7t",
"cachedResultName": "Appointments & Calls Manager"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl9JXgSsQyVLE3tV",
"cachedResultUrl": "https://airtable.com/appiSZ70ow7uVxv7t/tbl9JXgSsQyVLE3tV",
"cachedResultName": "Appointments and calls"
},
"columns": {
"value": {
"id": "={{ $('Add to CRM').first().json.id }}",
"Meeting_prep": "={{ $('create HTML').item.json.text }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Meeting",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Notes",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Notes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Lead data",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Lead data",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "Booked",
"value": "Booked"
},
{
"name": "No Show",
"value": "No Show"
},
{
"name": "Done",
"value": "Done"
},
{
"name": "Rescheduled",
"value": "Rescheduled"
},
{
"name": "Showed Up",
"value": "Showed Up"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Start-time",
"type": "dateTime",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Start-time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "End-time",
"type": "dateTime",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "End-time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Accepted",
"type": "options",
"display": true,
"options": [
{
"name": "Accepted",
"value": "Accepted"
},
{
"name": "accepted",
"value": "accepted"
},
{
"name": "needsAction",
"value": "needsAction"
},
{
"name": "declined",
"value": "declined"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Accepted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Link",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Meeting Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Open Meeting",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Open Meeting",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source",
"type": "options",
"display": true,
"options": [
{
"name": "Cal.com",
"value": "Cal.com"
},
{
"name": "G calendar",
"value": "G calendar"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Source",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "updated",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "updated",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting_prep",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Meeting_prep",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Created",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reason For Schedule",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Reason For Schedule",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "business-website",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "business-website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Linkedin",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Linkedin",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created time",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Created time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "iCalUID",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "iCalUID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Lead Enrichment",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Lead Enrichment",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "CAa937hASXcJZWTv",
"name": "Airtable Personal Access Token account✅"
}
},
"typeVersion": 2.1
},
{
"id": "05f75d10-4a7a-41ef-829a-fa9c6599a10b",
"name": "Notify admin",
"type": "n8n-nodes-base.gmail",
"position": [
1820,
160
],
"webhookId": "409d2278-a1bb-4d6f-980a-c9206a3c4f21",
"parameters": {
"sendTo": "={your email}",
"message": "={{ $json.data }}",
"options": {},
"subject": "New Meeting Prep Email"
},
"credentials": {
"gmailOAuth2": {
"id": "8PS0qVYNzZvoWNA7",
"name": "phoenix✅"
}
},
"typeVersion": 2.1
},
{
"id": "4eb75676-c5b8-4ad6-9dc7-451cb695efd8",
"name": "create HTML",
"type": "n8n-nodes-base.markdown",
"position": [
1660,
160
],
"parameters": {
"mode": "markdownToHtml",
"options": {},
"markdown": "={{ $json.text }}"
},
"typeVersion": 1
}
],
"pinData": {
"Webhook": [
{
"body": {
"payload": {
"uid": "72ieneey7haPWhCp64sk6W",
"type": "30min",
"price": 0,
"title": "Introductions and Discovery Call between Zacharia Kimotho and Anish M",
"length": 30,
"status": "ACCEPTED",
"endTime": "2025-05-30T10:00:00Z",
"iCalUID": "72ieneey7haPWhCp64sk6W@Cal.com",
"currency": "usd",
"location": "integrations:google:meet",
"metadata": {
"videoCallUrl": "https://meet.google.com/zgv-jrnv-ijx"
},
"attendees": [
{
"name": "Anish M",
"email": "anish@processary.com",
"language": {
"locale": "en"
},
"lastName": "",
"timeZone": "Asia/Calcutta",
"firstName": "",
"utcOffset": 330
}
],
"bookerUrl": "https://cal.com",
"bookingId": 8194170,
"organizer": {
"id": 994846,
"name": "Zacharia Kimotho",
"email": "kimothozacharia5@gmail.com",
"language": {
"locale": "en"
},
"timeZone": "Africa/Nairobi",
"username": "effibotics",
"utcOffset": 180,
"timeFormat": "h:mma"
},
"responses": {
"name": {
"label": "your_name",
"value": "Anish M",
"isHidden": false
},
"email": {
"label": "email_address",
"value": "anish@processary.com",
"isHidden": false
},
"notes": {
"label": "additional_notes",
"isHidden": false
},
"title": {
"label": "what_is_this_meeting_about",
"isHidden": true
},
"Budget": {
"label": "What is your budget",
"isHidden": true
},
"agenda": {
"label": " What is this meeting about?",
"value": "Debugging an n8n workflow discussed on LinkedIn",
"isHidden": false
},
"guests": {
"label": "additional_guests",
"value": [],
"isHidden": false
},
"purpose": {
"label": "Reason for scheduling the call",
"isHidden": true
},
"Linkedin": {
"label": "Enter your Linkedin Url",
"value": "https://www.linkedin.com/in/experienceswithanish",
"isHidden": false
},
"business": {
"label": "Business name",
"value": "Processary",
"isHidden": false
},
"location": {
"label": "location",
"value": {
"value": "integrations:google:meet",
"optionValue": ""
},
"isHidden": false
},
"business-website": {
"label": "Enter your website",
"value": "processary.com",
"isHidden": false
},
"rescheduleReason": {
"label": "reason_for_reschedule",
"isHidden": false
}
},
"startTime": "2025-05-30T09:30:00Z",
"appsStatus": [
{
"type": "google_calendar",
"errors": [],
"appName": "google-calendar",
"success": 1,
"failures": 0,
"warnings": []
},
{
"type": "conferencing",
"errors": [],
"appName": "Google Meet",
"success": 1,
"failures": 0
}
],
"eventTitle": "Introductions and Discovery Call",
"description": "",
"eventTypeId": 1303048,
"customInputs": {},
"iCalSequence": 0,
"conferenceData": {
"createRequest": {
"requestId": "8a0ce172-f69a-51b5-8481-93feb73d58e2"
}
},
"schedulingType": null,
"additionalNotes": "",
"oneTimePassword": null,
"eventDescription": "",
"seatsPerTimeSlot": null,
"hideCalendarNotes": false,
"customReplyToEmail": null,
"hideOrganizerEmail": false,
"seatsShowAttendees": true,
"destinationCalendar": [
{
"id": 358680,
"userId": 994846,
"externalId": "kimothozacharia5@gmail.com",
"eventTypeId": null,
"integration": "google_calendar",
"credentialId": 576040,
"primaryEmail": "kimothozacharia5@gmail.com",
"delegationCredentialId": null,
"domainWideDelegationCredentialId": null
}
],
"userFieldsResponses": {
"Budget": {
"label": "What is your budget",
"isHidden": true
},
"agenda": {
"label": " What is this meeting about?",
"value": "Debugging an n8n workflow discussed on LinkedIn",
"isHidden": false
},
"purpose": {
"label": "Reason for scheduling the call",
"isHidden": true
},
"Linkedin": {
"label": "Enter your Linkedin Url",
"value": "https://www.linkedin.com/in/experienceswithanish",
"isHidden": false
},
"business": {
"label": "Business name",
"value": "Processary",
"isHidden": false
},
"business-website": {
"label": "Enter your website",
"value": "processary.com",
"isHidden": false
}
},
"requiresConfirmation": false,
"hideCalendarEventDetails": false,
"seatsShowAvailabilityCount": true
},
"createdAt": "2025-05-29T14:29:45.015Z",
"triggerEvent": "BOOKING_CREATED"
},
"query": {},
"params": {},
"headers": {
"via": "1.1 Caddy",
"host": "dev.funautomations.io",
"accept": "*/*",
"baggage": "sentry-environment=vercel-production,sentry-public_key=a1ea40f454a84538876a4b18e1c360d4,sentry-trace_id=5fb7580bc99f41cfb19def7424e150e3,sentry-sampled=false,sentry-sample_rand=0.20993134619029008,sentry-sample_rate=0",
"user-agent": "node",
"x-vercel-id": "bom1:bom1::pmmdh-1748528982534-0e80201ef08f",
"content-type": "application/json",
"sentry-trace": "5fb7580bc99f41cfb19def7424e150e3-68b8822ca6e48f74-0",
"content-length": "3549",
"sec-fetch-mode": "cors",
"accept-encoding": "br, gzip, deflate",
"accept-language": "*",
"x-forwarded-for": "18.223.44.214",
"x-forwarded-host": "dev.funautomations.io",
"x-forwarded-proto": "https",
"x-cal-signature-256": "no-secret-provided"
},
"webhookUrl": "https://dev.funautomations.io/webhook/83231439-9c32-443c-86ea-8645f3d76640",
"executionMode": "production"
}
]
},
"connections": {
"552b5079-df32-45dd-8808-0b549cb4682d": {
"main": [
[
{
"node": "19049aeb-3b17-499d-a9f9-37bedaf3c340",
"type": "main",
"index": 0
}
]
]
},
"eed1b925-f458-4fcb-b840-efeb4a74dc62": {
"main": [
[
{
"node": "2e9f499d-6889-4e72-88ba-cb11856b5b91",
"type": "main",
"index": 0
},
{
"node": "95311415-caa6-4e18-bdd9-1a1f700f3690",
"type": "main",
"index": 0
}
]
]
},
"954fe099-0861-4c60-998a-431712e4f322": {
"main": [
[
{
"node": "650ba393-c127-4676-bbdf-b6b3276b6c33",
"type": "main",
"index": 0
}
]
]
},
"4eb75676-c5b8-4ad6-9dc7-451cb695efd8": {
"main": [
[
{
"node": "05f75d10-4a7a-41ef-829a-fa9c6599a10b",
"type": "main",
"index": 0
}
]
]
},
"da2e6463-dcf3-4c29-a469-d893404d08d4": {
"main": [
[
{
"node": "f359d12b-3c06-4f6b-9ac6-4acb852e6c05",
"type": "main",
"index": 0
}
]
]
},
"05f75d10-4a7a-41ef-829a-fa9c6599a10b": {
"main": [
[
{
"node": "29f09e3f-e477-4168-8c91-befde3e47ea6",
"type": "main",
"index": 0
}
]
]
},
"19049aeb-3b17-499d-a9f9-37bedaf3c340": {
"main": [
[
{
"node": "da2e6463-dcf3-4c29-a469-d893404d08d4",
"type": "main",
"index": 0
}
]
]
},
"c64cf170-1576-4fcd-b977-1a429d20775f": {
"main": [
[
{
"node": "eed1b925-f458-4fcb-b840-efeb4a74dc62",
"type": "main",
"index": 0
}
]
]
},
"650ba393-c127-4676-bbdf-b6b3276b6c33": {
"main": [
[
{
"node": "c64cf170-1576-4fcd-b977-1a429d20775f",
"type": "main",
"index": 0
}
]
]
},
"95311415-caa6-4e18-bdd9-1a1f700f3690": {
"main": [
[]
]
},
"f359d12b-3c06-4f6b-9ac6-4acb852e6c05": {
"main": [
[
{
"node": "954fe099-0861-4c60-998a-431712e4f322",
"type": "main",
"index": 0
}
]
]
},
"2e9f499d-6889-4e72-88ba-cb11856b5b91": {
"main": [
[
{
"node": "4eb75676-c5b8-4ad6-9dc7-451cb695efd8",
"type": "main",
"index": 0
}
]
]
},
"01f093cb-3cb1-4e75-80fd-0a181e24d21d": {
"ai_languageModel": [
[
{
"node": "2e9f499d-6889-4e72-88ba-cb11856b5b91",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 销售, 人工智能
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
[模板] AI宠物店 v8
🐶 AI宠物店助手 - 集成GPT-4o、Google日历和WhatsApp/Instagram/Facebook
If
N8n
Set
+
If
N8n
Set
244 节点Amanda Benks
销售
基于动态提示与Airtable的AI数据提取
通过动态提示与Airtable实现AI数据提取
Set
Code
Filter
+
Set
Code
Filter
51 节点Jimleuk
人工智能
AI邮件分诊与GPT-4警报系统及Telegram通知
AI邮件分诊与GPT-4警报系统及Telegram通知
If
Set
Gmail
+
If
Set
Gmail
104 节点Peter Joslyn
客户支持
使用AI、ElevenLabs和多平台发布创建和审批POV视频
使用AI、ElevenLabs和多平台发布创建和审批POV视频(TikTok/IG/YT)
If
Set
Code
+
If
Set
Code
60 节点Immanuel
设计
AI销售代理:WhatsApp、FB、IG、OpenAI、Airtable
AI销售代理:WhatsApp、FB、IG、OpenAI、Airtable、Supabase自动预约
If
Set
Switch
+
If
Set
Switch
58 节点Sam Yassine
销售
AI个性化多产品邮件营销
基于SMTP轮换的AI个性化多产品邮件营销(GPT-4o/o3-mini)
If
Code
Wait
+
If
Code
Wait
41 节点Badr
销售
工作流信息
难度等级
高级
节点数量23
分类2
节点类型11
作者
Imperol
@imperolqAutomation expert with years of experience helping businesses improve their efficiency and productivity with smart automations that are affordable, scalable, and flexible.
外部链接
在 n8n.io 查看 →
分享此工作流