AutomationFlowsAI & RAG › Linkedin Auto - Old (gdocs)

Linkedin Auto - Old (gdocs)

LinkedIn auto - old (GDocs). Uses agent, lmChatGoogleGemini, notion, stopAndError. Webhook trigger; 8 nodes.

Webhook trigger★★★★☆ complexityAI-powered8 nodesAgentGoogle Gemini ChatNotionStop And ErrorAnthropic ChatGoogle Docs
AI & RAG Trigger: Webhook Nodes: 8 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Agent → Google Docs 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 →

Download .json
{
  "updatedAt": "2026-05-29T11:41:55.830Z",
  "createdAt": "2026-05-11T09:46:21.361Z",
  "id": "OUptMPU4JX4tVvZ2",
  "name": "LinkedIn auto - old (GDocs)",
  "description": null,
  "active": false,
  "isArchived": false,
  "nodes": [
    {
      "parameters": {
        "promptType": "define",
        "text": "=Company: {{ $('Webhook').item.json.query.company }}\njon title : {{ $('Webhook').item.json.query.job_title }}\njob Url: {{ $('Webhook').item.json.query.job_url }}\nDescription: {{ $('Webhook').item.json.query.job_description }}\n",
        "options": {
          "systemMessage": "=# Identity & Tone\nTu es Jobby 2.0, l'assistant strat\u00e9gique de Julien. Ton ton est neutre, analytique et orient\u00e9 r\u00e9sultats, comme un coach en recrutement senior. Ta valeur ajout\u00e9e r\u00e9side dans la d\u00e9tection pr\u00e9cise des \u00e9carts techniques et organisationnels.\n\n# Purpose\n\u00c9valuer l'ad\u00e9quation entre le profil de Julien (Solutions Engineer, expert automation/IA) et une offre d'emploi sp\u00e9cifique.\n\n# Evaluation Criteria\n1. Score (1-10) : Bas\u00e9 strictement sur l'ad\u00e9quation technique, l'exp\u00e9rience pass\u00e9e et le niveau de s\u00e9niorit\u00e9 requis.\n2. Gap Analysis : Identifier les technologies ou m\u00e9thodologies manquantes sans fioritures.\n3. Concise : Chaque champ doit \u00eatre percutant. Pas de remplissage.\n\n# Output Format (STRICT JSON)\nR\u00e9ponds exclusivement par un objet JSON. Chaque champ de texte doit \u00eatre ind\u00e9pendant pour permettre le mapping dans Notion sans risque de troncature.\n\n{\n  \"domain\": \"string (ex: Generative AI, Automation, API Management)\",\n  \"job_title\": \"string (Titre exact)\",\n  \"category\": \"string (ex: Pre-sales, Solutions Architect, Technical Lead)\",\n  \"company\": \"string\",\n  \"link\": \"string (URL)\",\n  \"match_score\": number,\n  \"status\": \"To review\",\n  \"quick_summary\": \"string (MAX 150 caract\u00e8res)\",\n  \"analysis_pros\": \"string (Points forts techniques et m\u00e9tier - Max 800 caract\u00e8res)\",\n  \"analysis_cons\": \"string (Points de friction et manques - Max 800 caract\u00e8res)\",\n  \"action_plan\": \"string (Conseil imm\u00e9diat pour la candidature - Max 400 caract\u00e8res)\",\n  \"response_date\": \"YYYY-MM-DD\"\n}\n\n# DEBUT DE JULIEN\n{{ $json.content }}\n# FIN CV JULIEN"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3.1,
      "position": [
        240,
        80
      ],
      "id": "a6282874-3694-47de-98ec-8380572acb7d",
      "name": "AI Agent",
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "modelName": "models/gemini-2.5-flash-lite",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "typeVersion": 1.1,
      "position": [
        80,
        368
      ],
      "id": "f3aea52c-67b5-46b2-ae53-40217c6a9f0e",
      "name": "Google Gemini Chat Model",
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "value": "127bad1f-b25a-4b6b-8eec-7b342e3aa504",
          "mode": "list",
          "cachedResultName": "Linked Detector",
          "cachedResultUrl": "https://www.notion.so/127bad1fb25a4b6b8eec7b342e3aa504"
        },
        "title": "LinkedIn Detector",
        "simple": false,
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Job Title|title",
              "title": "={{ $json.job_title }}"
            },
            {
              "key": "category|multi_select",
              "multiSelectValue": "={{ $json.category }}"
            },
            {
              "key": "URL|url",
              "urlValue": "={{ $json.link }}"
            },
            {
              "key": "Match Score|number",
              "numberValue": "={{ $json.score }}"
            },
            {
              "key": "Status|status",
              "statusValue": "={{ $json.status }}"
            },
            {
              "key": "Company|select",
              "selectValue": "={{ $json.company }}"
            },
            {
              "key": "domain|multi_select",
              "multiSelectValue": "={{ $json.domain }}"
            },
            {
              "key": "analysis|rich_text",
              "textContent": "={{ $json.summary }}"
            }
          ]
        },
        "blockUi": {
          "blockValues": [
            {
              "type": "heading_1",
              "textContent": "Analyse compl\u00e8te"
            },
            {
              "textContent": "={{ $json.summary }}"
            },
            {
              "type": "heading_2",
              "textContent": "Pros"
            },
            {
              "textContent": "={{ $json.analysis_pros }}"
            },
            {
              "type": "heading_2",
              "textContent": "Cons"
            },
            {
              "textContent": "={{ $json.analysis_cons }}"
            },
            {
              "type": "heading_2",
              "textContent": "Action Plan"
            },
            {
              "textContent": "={{ $json.action_plan }}"
            }
          ]
        },
        "options": {
          "iconType": "emoji",
          "icon": "\ud83c\udd95"
        }
      },
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        816,
        -16
      ],
      "id": "404db6fa-a1aa-4ffc-aeb1-792b9e60a3ff",
      "name": "Create a database page",
      "retryOnFail": false,
      "executeOnce": false,
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "errorMessage": "={{ $('AI Agent').item.json.error }}"
      },
      "type": "n8n-nodes-base.stopAndError",
      "typeVersion": 1,
      "position": [
        592,
        176
      ],
      "id": "829ade90-f24f-4af5-acd8-74ed9fc11202",
      "name": "Stop and Error"
    },
    {
      "parameters": {
        "path": "linkedin-extraction",
        "options": {
          "responseData": "{\"status\": \"processing\"}"
        }
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        -208,
        80
      ],
      "id": "aca1afc4-7b71-4305-935e-b2aacce92deb",
      "name": "Webhook"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-6",
          "cachedResultName": "Claude Sonnet 4.6"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.4,
      "position": [
        672,
        448
      ],
      "id": "b047a0c0-7e35-4278-ba66-0e20e48d3779",
      "name": "Anthropic Chat Model",
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// 1. R\u00e9cup\u00e9ration des donn\u00e9es\nconst webhook = $(\"Webhook\").first().json.query || {}; \nconst text = $json.output || \"\"; \n\n// 2. Extraction du bloc JSON via Regex\nconst match = text.match(/\\{[\\s\\S]*\\}/);\n\nif (match) {\n  try {\n    const data = JSON.parse(match);\n\n    // 3. Helper pour transformer \"A, B, C\" en tableau propre pour Notion\n    const toSimpleArray = (val) => {\n      if (!val) return [];\n      const rawItems = Array.isArray(val) ? val : val.toString().split(/[|,\\/&]|\\band\\b/);\n      return rawItems.map(i => i.trim()).filter(i => i.length > 1);\n    };\n\n    // 4. Retour de l'objet mapp\u00e9 sur tes nouvelles propri\u00e9t\u00e9s\n    return {\n      domain: toSimpleArray(data.domain),\n      category: toSimpleArray(data.category),\n      job_title: data.job_title || webhook.job_title || \"Position inconnue\",\n      company: data.company || webhook.company || \"Entreprise inconnue\",\n      link: data.link || webhook.job_url || \"N/A\",\n      score: parseInt(data.match_score) || 0,\n      status: data.status || \"To review\",\n      summary: data.quick_summary || \"Analyse termin\u00e9e\",\n      // On utilise tes 3 nouveaux blocs atomis\u00e9s\n      analysis_pros: (data.analysis_pros || \"\").substring(0, 1900),\n      analysis_cons: (data.analysis_cons || \"\").substring(0, 1900),\n      action_plan: (data.action_plan || \"\").substring(0, 1900),\n      response_date: data.response_date || new Date().toISOString().split('T')\n    };\n\n  } catch (e) {\n    return { error: \"JSON Parsing Error\", message: e.message, raw: text.substring(0, 200) };\n  }\n}\n\nreturn { error: \"No JSON found in AI output\" };"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        592,
        -16
      ],
      "id": "0982f144-2c0b-4e13-a522-b7ba35e5346b",
      "name": "JSON Cleaner",
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "operation": "get",
        "documentURL": "https://docs.google.com/document/d/1_Gri6268rXvHDK__MVqT_3f7vlSR5OLEWqOJpaFwrPs/edit?usp=sharing",
        "simple": false
      },
      "type": "n8n-nodes-base.googleDocs",
      "typeVersion": 2,
      "position": [
        16,
        80
      ],
      "id": "91041ef8-4679-4f20-a2ef-4645ff19889f",
      "name": "CV julien"
    }
  ],
  "connections": {
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "JSON Cleaner",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a database page": {
      "main": [
        [],
        []
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "CV julien",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        []
      ]
    },
    "JSON Cleaner": {
      "main": [
        [
          {
            "node": "Create a database page",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "CV julien": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "timeSavedMode": "fixed",
    "timezone": "Europe/Paris",
    "callerPolicy": "workflowsFromSameOwner",
    "availableInMCP": false
  },
  "staticData": null,
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "versionId": "0fac6b5a-b3c9-49a2-a60f-eadca9dfb2a5",
  "activeVersionId": null,
  "versionCounter": 558,
  "triggerCount": 1,
  "shared": [
    {
      "updatedAt": "2026-05-11T09:46:21.363Z",
      "createdAt": "2026-05-11T09:46:21.363Z",
      "role": "workflow:owner",
      "workflowId": "OUptMPU4JX4tVvZ2",
      "projectId": "GfFdmZTqGEJQkrXG",
      "project": {
        "updatedAt": "2026-05-11T09:44:44.757Z",
        "createdAt": "2026-05-11T09:34:45.695Z",
        "id": "GfFdmZTqGEJQkrXG",
        "name": "\u00c9ole Wind <megazef@gmail.com>",
        "type": "personal",
        "icon": null,
        "description": null,
        "creatorId": "2792484d-cba3-4156-adba-fbc49134eb55"
      }
    }
  ],
  "tags": [
    {
      "updatedAt": "2026-05-29T11:31:39.972Z",
      "createdAt": "2026-05-29T11:31:39.972Z",
      "id": "5zynHpPHQi9PRMyD",
      "name": "jobby"
    },
    {
      "updatedAt": "2026-05-11T12:19:25.326Z",
      "createdAt": "2026-05-11T12:19:25.326Z",
      "id": "8yiCAJZW8fFXfFqI",
      "name": "notion"
    }
  ],
  "activeVersion": null
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

LinkedIn auto - old (GDocs). Uses agent, lmChatGoogleGemini, notion, stopAndError. Webhook trigger; 8 nodes.

Source: https://github.com/gnueole/jobby-md2html/blob/main/n8n/linkedin-auto-old-gdocs.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Jobby - LinkedIn 2 Notion. Uses agent, lmChatGoogleGemini, lmChatAnthropic, notion. Webhook trigger; 10 nodes.

Agent, Google Gemini Chat, Anthropic Chat +2
AI & RAG

LinkedIn auto Claude. Uses agent, lmChatGoogleGemini, notion, googleDocs. Webhook trigger; 8 nodes.

Agent, Google Gemini Chat, Notion +2
AI & RAG

This workflow turns a spreadsheet row into a fully formatted, media-rich WordPress article. It pulls the outline and brand context from Google Sheets/Docs, drafts the article with Anthropic or Gemini,

Agent, Google Sheets, Google Docs +5
AI & RAG

⏺ 🚀 How it works

Agent, Anthropic Chat, Output Parser Structured +6
AI & RAG

Are you drowning in daily operational chaos, desperately trying to juggle sales, projects, content, and client communication? Imagine an AI brain that handles it all, freeing you to lead your business

Telegram Trigger, Telegram, OpenAI +13