This workflow corresponds to n8n.io template #16530 — we link there as the canonical source.
This workflow follows the Chainllm → Form Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "PVXqzQSEj2gjd7W4",
"name": "LinkedIn Profile Evaluator",
"tags": [],
"nodes": [
{
"id": "05c43f9b-1682-4360-a2a9-309d49e9784d",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
32
],
"parameters": {
"width": 480,
"height": 912,
"content": "## LinkedIn Profile Evaluator\n\n### How it works\n\nThis workflow evaluates a LinkedIn profile submitted through a form. It prepares the required API keys and profile URL, sends the URL to Apify to retrieve profile data, then uses a Groq-powered AI chain to analyze the profile. The final evaluation is displayed back to the user.\n\n### Setup steps\n\n- Configure the form trigger to collect the LinkedIn profile URL from the user.\n- Add valid Apify and Groq API keys in the Prepare API Keys node or replace them with secure n8n credentials/environment variables.\n- Verify the Apify HTTP request URL, actor, request method, and payload match the LinkedIn scraping actor you intend to use.\n- Configure the Groq chat model credentials and model settings for the AI analysis node.\n\n### Customization\n\nYou can adjust the AI prompt or Groq model to change the evaluation criteria, such as focusing on recruiting appeal, sales prospecting quality, personal branding, or profile completeness."
},
"typeVersion": 1
},
{
"id": "592ae68b-fcf1-4983-953c-3738d74b419f",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
32
],
"parameters": {
"color": 7,
"width": 416,
"height": 336,
"content": "## Collect profile input\n\nStarts the workflow when the user submits the form, then prepares the Apify API key, Groq API key, and submitted LinkedIn profile URL for downstream steps."
},
"typeVersion": 1
},
{
"id": "a462f612-531a-40e8-ade9-b4d51610f982",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1008,
32
],
"parameters": {
"color": 7,
"height": 336,
"content": "## Fetch LinkedIn data\n\nSends the prepared LinkedIn profile URL to the Apify API to retrieve profile data for evaluation."
},
"typeVersion": 1
},
{
"id": "069bf3ac-3b06-4056-8809-73a874998beb",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1280,
32
],
"parameters": {
"color": 7,
"width": 352,
"height": 544,
"content": "## Analyze profile with AI\n\nUses an LLM chain backed by the Groq chat model to analyze the fetched LinkedIn profile data and generate an evaluation."
},
"typeVersion": 1
},
{
"id": "2aa568e4-3f07-4e5c-afd4-4af2407562a8",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1664,
0
],
"parameters": {
"color": 7,
"height": 384,
"content": "## Display evaluation result\n\nShows the generated LinkedIn profile evaluation back to the user in a form-style output step."
},
"typeVersion": 1
},
{
"id": "32ee03c0-fd59-406b-94d4-85031300fa63",
"name": "When Profile Form Submitted",
"type": "n8n-nodes-base.formTrigger",
"position": [
608,
208
],
"parameters": {
"options": {
"buttonLabel": "Evaluate Profile"
},
"formTitle": "LinkedIn Profile Evaluator",
"formFields": {
"values": [
{
"fieldLabel": "LinkedIn Profile URL",
"placeholder": "https://www.linkedin.com/in/example",
"requiredField": true
}
]
},
"formDescription": "Paste a public LinkedIn profile URL to get an AI-generated evaluation."
},
"typeVersion": 2.2
},
{
"id": "0af9c56a-fda0-42e5-830a-a976bfe3a031",
"name": "Set API Keys and Profile URL",
"type": "n8n-nodes-base.set",
"position": [
832,
208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "22222222-2222-4222-8222-222222222222",
"name": "apifyApiKey",
"type": "string",
"value": "YOUR_APIFY_API_KEY_HERE"
},
{
"id": "33333333-3333-4333-8333-333333333333",
"name": "groqApiKey",
"type": "string",
"value": "YOUR_GROQ_API_KEY_HERE"
},
{
"id": "44444444-4444-4444-8444-444444444444",
"name": "profileUrl",
"type": "string",
"value": "={{ $json['LinkedIn Profile URL'] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "37f88f2c-03d9-4ca5-9331-e6f011b4a0d3",
"name": "Submit Profile to Apify",
"type": "n8n-nodes-base.httpRequest",
"position": [
1056,
208
],
"parameters": {
"url": "=https://api.apify.com/v2/acts/harvestapi~linkedin-profile-scraper/run-sync-get-dataset-items?token={{ $json.apifyApiKey }}",
"method": "POST",
"options": {
"timeout": 60000
},
"jsonBody": "={{ JSON.stringify({ urls: [$json.profileUrl] }) }}",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
},
{
"id": "6e71fcd2-cb6d-4342-90bd-a14842d31290",
"name": "AI Profile Analysis",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1328,
208
],
"parameters": {
"text": "=You are an expert LinkedIn profile reviewer (recruiter + personal branding consultant). Evaluate the following LinkedIn profile data and return your evaluation as clean HTML using <h2> for section titles and <p>/<ul><li> for content. Do not include <html>, <head>, or <body> tags \u2014 just the inner content fragment.\n\nStructure your evaluation into these sections, in this order:\n<h2>Overall Summary</h2> \u2014 2-3 sentence high-level impression.\n<h2>Headline & About Section</h2> \u2014 quality and clarity assessment.\n<h2>Experience</h2> \u2014 strength and relevance of work history.\n<h2>Education</h2> \u2014 relevance and presentation.\n<h2>Skills</h2> \u2014 strengths and notable gaps.\n<h2>Overall Score</h2> \u2014 give a score out of 10 with one sentence justification.\n<h2>Top 3 Recommendations</h2> \u2014 actionable improvements, as a bullet list.\n\nIf the profile data is empty or scraping failed, say clearly that the profile could not be found or is private, and suggest checking the URL.\n\nProfile data (raw JSON):\n{{ JSON.stringify($json, null, 2) }}",
"promptType": "define"
},
"typeVersion": 1.5
},
{
"id": "3584f523-9b57-43c9-bdf1-15f717a884c6",
"name": "Initialize Groq Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGroq",
"position": [
1376,
432
],
"parameters": {
"model": "meta-llama/llama-4-scout-17b-16e-instruct",
"options": {}
},
"credentials": {
"groqApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "368826e1-aa1d-4fdc-b824-e5d6a45237a3",
"name": "Show Profile Evaluation Results",
"type": "n8n-nodes-base.form",
"position": [
1712,
208
],
"parameters": {
"options": {
"customCss": ":root {\n\t--font-family: 'Open Sans', sans-serif;\n\t--font-weight-normal: 400;\n\t--font-weight-bold: 600;\n\t--font-size-body: 12px;\n\t--font-size-label: 14px;\n\t--font-size-test-notice: 12px;\n\t--font-size-input: 14px;\n\t--font-size-header: 20px;\n\t--font-size-paragraph: 14px;\n\t--font-size-link: 12px;\n\t--font-size-error: 12px;\n\t--font-size-html-h1: 28px;\n\t--font-size-html-h2: 20px;\n\t--font-size-html-h3: 16px;\n\t--font-size-html-h4: 14px;\n\t--font-size-html-h5: 12px;\n\t--font-size-html-h6: 10px;\n\t--font-size-subheader: 14px;\n\n\t/* Colors */\n\t--color-background: #fbfcfe;\n\t--color-test-notice-text: #e6a23d;\n\t--color-test-notice-bg: #fefaf6;\n\t--color-test-notice-border: #f6dcb7;\n\t--color-card-bg: #ffffff;\n\t--color-card-border: #dbdfe7;\n\t--color-card-shadow: rgba(99, 77, 255, 0.06);\n\t--color-link: #7e8186;\n\t--color-header: #525356;\n\t--color-label: #555555;\n\t--color-input-border: #dbdfe7;\n\t--color-input-text: #71747A;\n\t--color-focus-border: rgb(90, 76, 194);\n\t--color-submit-btn-bg: #ff6d5a;\n\t--color-submit-btn-text: #ffffff;\n\t--color-error: #ea1f30;\n\t--color-required: #ff6d5a;\n\t--color-clear-button-bg: #7e8186;\n\t--color-html-text: #555;\n\t--color-html-link: #ff6d5a;\n\t--color-header-subtext: #7e8186;\n\n\t/* Border Radii */\n\t--border-radius-card: 8px;\n\t--border-radius-input: 6px;\n\t--border-radius-clear-btn: 50%;\n\t--card-border-radius: 8px;\n\n\t/* Spacing */\n\t--padding-container-top: 24px;\n\t--padding-card: 24px;\n\t--padding-test-notice-vertical: 12px;\n\t--padding-test-notice-horizontal: 24px;\n\t--margin-bottom-card: 16px;\n\t--padding-form-input: 12px;\n\t--card-padding: 24px;\n\t--card-margin-bottom: 16px;\n\n\t/* Dimensions */\n\t--container-width: 448px;\n\t--submit-btn-height: 48px;\n\t--checkbox-size: 18px;\n\n\t/* Others */\n\t--box-shadow-card: 0px 4px 16px 0px var(--color-card-shadow);\n\t--opacity-placeholder: 0.5;\n}",
"formTitle": "Profile Evaluation Results"
},
"operation": "completion",
"completionTitle": "Profile Evaluation Results",
"completionMessage": "={{ $json.text }}"
},
"typeVersion": 1
},
{
"id": "7d5f1fe0-7461-4c9a-b3b2-74cc31277bd7",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
416
],
"parameters": {
"width": 672,
"height": 512,
"content": "# This is a demo showing how to use the workflow in development mode, from entering a LinkedIn profile link to viewing a detailed evaluation broken down into sections, along with an attached score\n\n@[youtube](fboaQrR2o8w)\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "29a4cf7f-1081-433a-a770-46475b26ede5",
"nodeGroups": [],
"connections": {
"AI Profile Analysis": {
"main": [
[
{
"node": "Show Profile Evaluation Results",
"type": "main",
"index": 0
}
]
]
},
"Submit Profile to Apify": {
"main": [
[
{
"node": "AI Profile Analysis",
"type": "main",
"index": 0
}
]
]
},
"Initialize Groq Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Profile Analysis",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"When Profile Form Submitted": {
"main": [
[
{
"node": "Set API Keys and Profile URL",
"type": "main",
"index": 0
}
]
]
},
"Set API Keys and Profile URL": {
"main": [
[
{
"node": "Submit Profile to Apify",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
groqApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow collects a LinkedIn profile URL via an n8n form, scrapes the public profile data using the Apify LinkedIn Profile Scraper actor, analyzes the results with a Groq-hosted Llama model, and displays an HTML-formatted evaluation back to the user. Receives a LinkedIn…
Source: https://n8n.io/workflows/16530/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Travel agencies, freelance travel planners, or anyone who wants to automate personalized trip planning by combining real-time hotel and flight data with AI-generated recommendations. Collects travel d
The Recap AI - Nano Banana Static Ad Spinner. Uses formTrigger, @mendable/n8n-nodes-firecrawl, chainLlm, lmChatGoogleGemini. Event-driven trigger; 31 nodes.
viral-cat-video-creator. Uses formTrigger, chainLlm, lmChatMistralCloud, outputParserStructured. Event-driven trigger; 22 nodes.
[VICTOR] Google Maps Extractor. Uses formTrigger, outputParserStructured, lmChatOpenAi, httpRequest. Event-driven trigger; 21 nodes.
This SEO Keyword Monitoring workflow template is perfect for SEO professionals, digital marketing agencies, website owners, and content strategists who need to track their search rankings and get acti