{"workflow":{"id":13449,"name":"Track AI search visibility across ChatGPT, Claude, DeepSeek and Perplexity","views":81,"recentViews":0,"totalViews":81,"createdAt":"2026-02-17T07:50:12.288Z","description":"## Description\n\nThis workflow automates AI Search Engine Optimization (ASEO) tracking for digital marketing agencies. It tests your client's website visibility across four major AI platforms—ChatGPT, Claude, DeepSeek, and Perplexity—using brand-neutral prompts, analyzes ranking position and presence strength on each platform, identifies top competitors, and returns a structured 27-field scorecard with actionable recommendations. Designed as a sub-workflow, it integrates directly into your existing client audit or reporting pipeline.\n\n---\n\n## Key Features\n\n- Brand-neutral prompt generation (no client name used—tests true organic AI discoverability)\n- Simultaneous visibility testing across ChatGPT, Claude, DeepSeek, and Perplexity\n- Presence strength scoring (0–100%) per platform\n- Competitor identification across all four AI platforms\n- Strongest and weakest platform detection\n- AI-generated actionable recommendations for improvement\n- Structured 27-field output ready for Google Sheets or database insertion\n- Error handling on all agent nodes (partial results if any platform fails)\n- Sub-workflow design—integrates cleanly into larger audit pipelines\n\n---\n\n## What This Workflow Does\n\n### Input\n\nThis workflow is triggered by a parent workflow and receives two parameters:\n\n- **Website**: The client's website URL (e.g., `https://example.com`)\n- **Website Summary**: A plain-text description of what the business does and its core services\n\n### Processing\n\n**Stage 1 — Brand-Neutral Prompt Generation**\n\nGPT-4.1-mini generates a realistic search prompt that potential customers would type into an AI chatbot to find a company like the client. Critically, the prompt does not include the client's brand name—it focuses on their services and industry instead. For example, for a Los Angeles product photography studio, the prompt would be something like \"best product photography studio for Amazon listings in Los Angeles\" rather than the studio's name. This tests true organic discoverability, not brand recall.\n\n**Stage 2 — Four-Platform Sequential Testing**\n\nThe same generated prompt is submitted sequentially to four AI platforms:\n- ChatGPT via GPT-4o-mini\n- Claude via Claude Sonnet 3.7\n- DeepSeek\n- Perplexity\n\nEach platform agent runs independently with error handling enabled. If one platform API is down or throws an error, the workflow continues and returns partial results—it does not fail entirely.\n\n**Stage 3 — Cross-Platform Analysis**\n\nDeepSeek analyzes all four platform outputs together and produces a structured JSON report covering each platform's ranking (Yes/No), position (1–10 or null), presence strength percentage, key mentions, and top competitors. It also generates an overall summary comparing all platforms.\n\n**Stage 4 — Data Flattening**\n\nThe nested JSON is flattened into 27 individual fields that can be directly inserted into a Google Sheet row, database, or passed back to the parent workflow for reporting.\n\n### Output\n\nThe workflow returns 27 structured data fields:\n\n- Search prompt used (1 field)\n- Per-platform metrics for ChatGPT, Claude, DeepSeek, Perplexity: Ranking (Yes/No), Position, Presence Strength %, Key Mentions, Top Competitors (5 fields × 4 platforms = 20 fields)\n- Overall summary: Total platforms ranking, Average presence strength, Strongest platform, Weakest platform, Main competitors across all platforms, Recommendations (6 fields)\n\n---\n\n## Setup Instructions\n\n### Prerequisites\n\n- Active n8n instance (self-hosted or n8n Cloud)\n- Parent workflow with Execute Workflow node (this workflow does not run standalone)\n- OpenAI API key (used for prompt generation and ChatGPT testing)\n- Anthropic API key (used for Claude testing)\n- DeepSeek API key (used for DeepSeek testing and final analysis)\n- Perplexity API key (used for Perplexity testing)\n\n**Estimated setup time:** 20–25 minutes\n\n---\n\n### Step 1: Understand how this workflow is triggered\n\nThis is a **sub-workflow**. It does not have its own schedule trigger. It runs when a parent workflow calls it using n8n's **Execute Workflow** node.\n\n**Setting up the parent workflow:**\n\n1. Open or create your parent workflow (e.g., a client audit scheduler, a Google Sheets loop, or a manual trigger)\n2. Add an **Execute Workflow** node to your parent workflow\n3. Inside the Execute Workflow node:\n   - **Source:** Select \"Database\"\n   - **Workflow:** Search for and select this AI Search Ranking Analyzer workflow\n   - **Mode:** Choose \"Run once for all items\" or \"Run once for each item\" depending on your setup\n4. Under **Fields**, add two parameters to pass:\n   - Name: `Website` | Value: your client's website URL expression (e.g., `={{ $json['Website URL'] }}`)\n   - Name: `Website Summary` | Value: your client's business description (e.g., `={{ $json['Business Description'] }}`)\n\n**Example parent workflow structure:**\n\n```\nSchedule Trigger (Weekly / Monthly)\n  → Read Client List from Google Sheets\n  → Loop Over Each Client\n    → Execute Workflow (this AI Search Ranking Analyzer)\n        Pass: Website = {{ $json['Website URL'] }}\n        Pass: Website Summary = {{ $json['Summary'] }}\n    → Append 27 Fields to Reporting Sheet\n  → Send Report Email or Slack Notification\n```\n\n**Testing the trigger connection:**\n\n1. Open this workflow and click on the **Receive Website and Summary from Parent** node\n2. You will see \"Waiting for input from parent workflow...\"\n3. Go to your parent workflow and click **Execute node** on the Execute Workflow node\n4. The data will flow into this workflow for testing\n5. Both workflows must be set to **Active** for production use\n\n---\n\n### Step 2: Connect OpenAI credentials\n\nThis workflow uses two OpenAI models:\n\n- **GPT-4.1-mini** — used by `Generate Brand-Neutral Search Prompts`, `Parse Prompt as JSON`, and `GPT Model for Parser Support`\n- **GPT-4o-mini** — used by `Test Visibility on ChatGPT`\n\n**To connect:**\n\n1. In n8n go to **Credentials → Add credential → OpenAI API**\n2. Paste your API key from [https://platform.openai.com/api-keys](https://platform.openai.com/api-keys)\n3. Name it clearly (e.g., \"OpenAI Main\")\n4. Open each of these nodes and select your credential:\n   - `GPT Model for Prompt Generation` → select your OpenAI credential, set model to `gpt-4.1-mini`\n   - `GPT Model for Parser Support` → select your OpenAI credential, set model to `gpt-4.1-mini`\n   - `GPT-4o-mini for ChatGPT Test` → select your OpenAI credential, set model to `gpt-4o-mini`\n\n---\n\n### Step 3: Connect Anthropic credentials\n\nUsed by the `Test Visibility on Claude` agent via `Claude Sonnet 3.7 Model`.\n\n**To connect:**\n\n1. Go to **Credentials → Add credential → Anthropic API**\n2. Get API key from [https://console.anthropic.com/](https://console.anthropic.com/)\n3. Open the `Claude Sonnet 3.7 Model` node and select your credential\n4. Verify the model is set to `claude-3-7-sonnet-20250219`\n\n---\n\n### Step 4: Connect DeepSeek credentials\n\nUsed by two nodes: `DeepSeek Model for Testing` (platform test) and `DeepSeek Model for Analysis` (final summarizer).\n\n**To connect:**\n\n1. Go to **Credentials → Add credential → DeepSeek API**\n2. Get API key from [https://platform.deepseek.com/](https://platform.deepseek.com/)\n3. Open `DeepSeek Model for Testing` node → select your credential\n4. Open `DeepSeek Model for Analysis` node → select your credential\n\n---\n\n### Step 5: Connect Perplexity credentials\n\nUsed by the `Test Visibility on Perplexity` node (Perplexity native node, not an AI agent).\n\n**To connect:**\n\n1. Go to **Credentials → Add credential → Perplexity API**\n2. Get API key from [https://www.perplexity.ai/settings/api](https://www.perplexity.ai/settings/api)\n3. Open the `Test Visibility on Perplexity` node and select your credential\n\n---\n\n### Step 6: Test the complete workflow\n\n1. Temporarily add a **Manual Trigger** node at the start and connect it to `Generate Brand-Neutral Search Prompts` (bypass the executeWorkflowTrigger for isolated testing)\n2. Set the Manual Trigger to pass test data:\n   ```json\n   {\n     \"Website\": \"https://your-test-site.com\",\n     \"Website Summary\": \"A company that provides [your service] in [your city]\"\n   }\n   ```\n3. Execute and verify:\n   - `Generate Brand-Neutral Search Prompts` produces a sensible search query\n   - Each platform node returns output (or gracefully continues on error)\n   - `Analyze All Platform Results` produces structured JSON\n   - `Flatten JSON to 27 Data Fields` produces all 27 fields correctly\n4. Remove the test Manual Trigger once testing is complete\n5. Activate this workflow and your parent workflow\n\n---\n\n## Workflow Node Breakdown\n\n### Receive Website and Summary from Parent\nThe entry point of this sub-workflow. Listens for execution from a parent workflow via n8n's Execute Workflow node. Receives two inputs: `Website` (client URL) and `Website Summary` (business description text). These values are referenced by subsequent nodes throughout the workflow.\n\n### Generate Brand-Neutral Search Prompts\nAn AI agent powered by GPT-4.1-mini that creates a realistic search query a potential customer might type into an AI chatbot to find a business like the client—without using the client's brand name. This tests organic discoverability based on services and industry positioning rather than brand recognition. The output is a single focused search prompt.\n\n### Parse Prompt as JSON\nA Structured Output Parser that enforces JSON schema `{\"Prompts\": \"...\"}` on the generated prompt. Uses `GPT Model for Parser Support` as its language model and has autoFix enabled, so malformed outputs are automatically retried and corrected.\n\n### Test Visibility on ChatGPT\nAn AI agent that submits the generated search prompt to ChatGPT (GPT-4o-mini) and records the response. This captures what ChatGPT currently recommends when users search for services like the client's.\n\n### Test Visibility on Claude\nAn AI agent powered by Claude Sonnet 3.7 (Anthropic) that receives the same prompt and records Claude's recommendations. Has `onError: continueRegularOutput` so the workflow continues if Claude's API is unavailable.\n\n### Test Visibility on DeepSeek\nAn AI agent powered by DeepSeek that tests the same prompt on DeepSeek's platform. Also has `onError: continueRegularOutput` for resilience.\n\n### Test Visibility on Perplexity\nUses n8n's native Perplexity node (not an AI agent) to submit the prompt to Perplexity's search-augmented AI. Perplexity is particularly important because it uses real-time web search, making its recommendations highly relevant for current visibility. Has `onError: continueRegularOutput`.\n\n### Analyze All Platform Results\nA DeepSeek-powered AI agent that receives all four platform outputs simultaneously along with the client website URL and the original search prompt. It analyzes each platform independently—determining whether the client appears (Yes/No), at what position (1–10), how strongly (0–100%), how they are mentioned, and which competitors appear. It also generates an overall summary comparing all platforms and provides specific improvement recommendations. Uses `Parse Analysis as Structured JSON` as its output parser.\n\n### Flatten JSON to 27 Data Fields\nA Set node that extracts values from the nested JSON output of the analyzer into 27 flat fields. This makes the data ready for direct insertion into a Google Sheets row, Airtable record, or database table—or for return to the parent workflow.\n\n### Output Data Complete\nA No Operation node marking the successful completion of the workflow. The parent workflow receives all 27 fields as the execution output.\n\n---\n\n## Usage Guide\n\n### Adding clients for analysis\n\nIn your parent workflow, maintain a Google Sheet with columns:\n\n| Client Name | Website URL | Business Description | Last Checked |\n|---|---|---|---|\n| Example Corp | https://example.com | A SaaS company that provides... | 2025-01-15 |\n\nYour parent workflow reads each row, passes the Website URL and Business Description to this sub-workflow, and writes the 27 returned fields back into the sheet for tracking.\n\n### Understanding the output\n\nAfter execution, check the `Flatten JSON to 27 Data Fields` node output. For each platform you get:\n\n- **Ranking:** Yes (client appears) or No (client not mentioned)\n- **Position:** Numeric position in the AI's recommendations (1 being top)\n- **Presence Strength:** 0–100% measuring how positively and prominently the client is featured\n- **Key Mentions:** How the AI described or mentioned the client\n- **Ranking Competitors:** Which competitors the AI recommended instead\n\nThe **Overall Summary** tells you:\n- How many of 4 platforms are currently ranking your client\n- The average presence strength across all platforms\n- Which platform is your strongest opportunity\n- Which platform needs the most improvement\n- The 3 main competitors appearing consistently\n- Specific recommendations for improving AI discoverability\n\n### Tracking over time\n\nRun this workflow monthly per client. Append results to a Google Sheet with a date column. Track whether presence strength is improving, whether the client appears on more platforms over time, and whether competitors are losing or gaining ground.\n\n---\n\n## Customization Options\n\n**Change the number of platforms:** Remove any platform agent node and update the `Analyze All Platform Results` prompt to exclude that platform's output reference.\n\n**Add more platforms:** Add new AI agent nodes (e.g., Grok, Gemini) between `Test Visibility on Perplexity` and `Analyze All Platform Results`. Update the analyzer prompt to include the new platform's output.\n\n**Generate multiple prompts:** Modify `Generate Brand-Neutral Search Prompts` to produce 3–5 different prompts. Loop through each and aggregate results for more comprehensive testing.\n\n**Write results directly to Google Sheets:** After `Flatten JSON to 27 Data Fields`, add a Google Sheets Append node in your parent workflow to log each audit automatically.\n\n**Add email or Slack notifications:** After the workflow completes in the parent, add a Send Email or Slack node that formats the key metrics (Overall Ranking, Average Presence Strength, Recommendations) into a readable client report.\n\n**Adjust presence strength scoring:** Modify the `Analyze All Platform Results` prompt to change how the AI scores presence strength—for example, weighting first-position mentions more heavily.\n\n---\n\n## Troubleshooting\n\n**Parent workflow not triggering this workflow**\n\n- Verify both workflows are toggled to **Active**\n- In the Execute Workflow node, confirm the correct workflow is selected\n- Check that the Mode is set (not left blank)\n- Test by clicking Execute node directly on the Execute Workflow node in the parent\n\n**Website and Website Summary parameters not passing**\n\n- In the Execute Workflow node, confirm the field names are exactly `Website` and `Website Summary` (case-sensitive, space in second parameter)\n- Check the parent workflow is actually passing values, not empty expressions\n- Use the `Receive Website and Summary from Parent` node's input panel to verify received data\n\n**One platform returns empty output**\n\n- The workflow continues even if one platform fails (onError: continueRegularOutput is set)\n- Check the specific platform node for the error message\n- Verify API credentials are valid and have available credits\n- Perplexity free tier has strict rate limits—upgrade plan if hitting limits\n\n**Structured output parser fails**\n\n- `Parse Prompt as JSON` has autoFix enabled—it will retry malformed outputs automatically\n- If `Parse Analysis as Structured JSON` fails, simplify the prompt in `Analyze All Platform Results` or increase max tokens\n- Check that DeepSeek credentials are active (DeepSeek handles the analysis output parsing)\n\n**Generated prompt includes client brand name**\n\n- The `Generate Brand-Neutral Search Prompts` agent prompt instructs GPT to avoid brand names\n- If brand names slip through, add to the system prompt: \"Never mention any specific company name, brand, or trademark in the generated prompt\"\n\n**All 27 fields not appearing in output**\n\n- Run the workflow with test data and inspect `Analyze All Platform Results` node output\n- If a platform returned empty output due to an error, its fields will be null\n- Check that `Flatten JSON to 27 Data Fields` expressions reference the correct node names\n\n---\n\n## Use Cases\n\n**Digital marketing agencies offering ASEO services:** Run monthly AI visibility audits for 20–50 clients from one parent workflow. Generate client reports showing AI platform rankings, presence strength trends, and competitor comparisons. Position ASEO as a premium new service.\n\n**SEO teams expanding beyond Google:** Use this alongside traditional Google ranking reports. Show clients their full search visibility picture—covering both Google and the AI chatbots that are increasingly influencing purchase decisions.\n\n**Competitive intelligence:** Run this workflow for your own site and 3–5 competitors simultaneously. Identify which competitors dominate AI recommendations and reverse-engineer their content strategy.\n\n**Brand monitoring:** Track how AI chatbots describe your brand over time. Detect if competitors are gaining ground or if negative associations are appearing in AI responses.\n\n**New market entry research:** Before entering a new market or launching a new service line, test whether your website would appear in AI searches for that service category. Use results to guide content strategy before launch.\n\n---\n\n## Expected Results\n\n**Time savings:** 45–60 minutes of manual AI testing per client, eliminated per audit cycle\n\n**Coverage:** 4 major AI platforms tested in a single automated run\n\n**Output quality:** Structured, consistent 27-field data format—ready for Google Sheets, dashboards, or PDF reports\n\n**Scalability:** Process 50+ clients per parent workflow run with no additional manual effort\n\n**Competitive advantage:** One of the first systematic approaches to measuring AI Search Engine Optimization (ASEO)—a space with no established tooling yet\n\n---\n**For any questions, custom development, or workflow integration support:**\n\n📧 Email: [info@incrementors.com](info@incrementors.com)\n🌐 Website: [https://www.incrementors.com/](https://www.incrementors.com/)","workflow":{"id":"I83U7IQQyHLJaLRF","meta":{"instanceId":"bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2"},"name":"AI_Ranking_Checker","tags":[],"nodes":[{"id":"05f07bea-7687-4714-9858-051dee4651e2","name":"Receive Website and Summary from Parent","type":"n8n-nodes-base.executeWorkflowTrigger","position":[0,0],"parameters":{"workflowInputs":{"values":[{"name":"Website"},{"name":"Website Summary"}]}},"typeVersion":1.1},{"id":"43a6e12a-3236-40e0-b69b-37c0aa930215","name":"Generate Brand-Neutral Search Prompts","type":"@n8n/n8n-nodes-langchain.agent","position":[352,0],"parameters":{"text":"=You are responsible to generate relevant prompts that users might put on AI searches in order to find companies like  {{ $json.Website }}\n\nDon't use client's name directly in the prompt. The prompt should be independent and focus ont the core services of the client. \n\nAbout the website: \n{{ $json[\"Website Summary\"] }}\nGOAL: Create one prompt","options":{},"promptType":"define","hasOutputParser":true},"typeVersion":2},{"id":"3de0e9b1-5590-4286-8c07-334087c0b6b1","name":"GPT Model for Prompt Generation","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[272,224],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{}},"credentials":{"openAiApi":{"id":"u1QSiOsEr33tUNn7","name":"testing"}},"typeVersion":1.2},{"id":"36f50c3a-6597-4b06-9751-b4f344a6eb78","name":"Parse Prompt as JSON","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[528,224],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n\t\"Prompts\": \"Prompt\"\n}","customizeRetryPrompt":true},"typeVersion":1.3},{"id":"feb08780-e899-4ada-a955-9e995c9ed03b","name":"GPT Model for Parser Support","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[624,448],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{}},"credentials":{"openAiApi":{"id":"u1QSiOsEr33tUNn7","name":"testing"}},"typeVersion":1.2},{"id":"b282c280-ccaa-45d4-8ec8-9d409e09c87a","name":"Test Visibility on ChatGPT","type":"@n8n/n8n-nodes-langchain.agent","position":[880,0],"parameters":{"text":"={{ $json.output.Prompts }}","options":{},"promptType":"define"},"typeVersion":2},{"id":"a8e0e795-99d2-4f40-bd2b-d903e61f4c24","name":"GPT-4o-mini for ChatGPT Test","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[880,240],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini"},"options":{}},"credentials":{"openAiApi":{"id":"A14MqVJzO7cufz8t","name":"Open AI - Misc for testing"}},"typeVersion":1.2},{"id":"e23c46c2-7633-4952-bea9-1190d47b9575","name":"Test Visibility on Claude","type":"@n8n/n8n-nodes-langchain.agent","onError":"continueRegularOutput","position":[1296,0],"parameters":{"text":"={{ $('Generate Brand-Neutral Search Prompts').item.json.output.Prompts }}","options":{},"promptType":"define"},"typeVersion":2,"alwaysOutputData":false},{"id":"89fdef8b-f763-4277-b6ef-29fc43194697","name":"Claude Sonnet 3.7 Model","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[1296,256],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-3-7-sonnet-20250219","cachedResultName":"Claude Sonnet 3.7"},"options":{}},"credentials":{"anthropicApi":{"id":"wwa79MMUvFCyJzAU","name":"testing_account"}},"typeVersion":1.3},{"id":"69138df5-509b-4f68-b11d-87d9cbaeaf00","name":"Test Visibility on DeepSeek","type":"@n8n/n8n-nodes-langchain.agent","onError":"continueRegularOutput","position":[1680,0],"parameters":{"text":"={{ $('Generate Brand-Neutral Search Prompts').item.json.output.Prompts }}","options":{},"promptType":"define"},"typeVersion":2,"alwaysOutputData":false},{"id":"02c058c5-0603-4798-8b44-987a6ed1b596","name":"DeepSeek Model for Testing","type":"@n8n/n8n-nodes-langchain.lmChatDeepSeek","position":[1680,224],"parameters":{"options":{}},"credentials":{"deepSeekApi":{"id":"jqTAMm8LpP82uSNp","name":"testing_account"}},"typeVersion":1},{"id":"eed1d2c0-e5e4-444e-81be-9f7d75473132","name":"Test Visibility on Perplexity","type":"n8n-nodes-base.perplexity","onError":"continueRegularOutput","position":[2080,0],"parameters":{"options":{},"messages":{"message":[{"content":"={{ $('Generate Brand-Neutral Search Prompts').item.json.output.Prompts }}"}]},"requestOptions":{}},"credentials":{"perplexityApi":{"id":"9jTiPYCP1tKCbQM2","name":"testing_pplx"}},"typeVersion":1,"alwaysOutputData":false},{"id":"faca2ef7-1a59-4a56-bc96-06faacccfa8e","name":"Analyze All Platform Results","type":"@n8n/n8n-nodes-langchain.agent","position":[2336,0],"parameters":{"text":"=Client's Website: {{ $('Receive Website and Summary from Parent').item.json.Website }}\n\nYou need to check if my client's website is ranking on these AI searches. You need provide if the site is visible or not and provide the % strength of the presence based on positive the output is in favour of my client. \n\nPrompt used to generate Output: {{ $('Generate Brand-Neutral Search Prompts').item.json.output.Prompts }}\n\nChatGPT Output {{ $('Test Visibility on ChatGPT').item.json.output }}\n\nClaude Output: {{ $('Test Visibility on Claude').item.json.output }}\n\nDeepseek Output {{ $('Test Visibility on DeepSeek').item.json.output }}\n\nPerplexity Output: {{ $json.choices[0].message.content }}","options":{},"promptType":"define","hasOutputParser":true},"typeVersion":2},{"id":"559d5fd4-00ac-4860-8319-10312968f9b6","name":"DeepSeek Model for Analysis","type":"@n8n/n8n-nodes-langchain.lmChatDeepSeek","position":[2336,240],"parameters":{"options":{}},"credentials":{"deepSeekApi":{"id":"AFWbNKYIooa7DgPQ","name":"Deepseek - Upwork Covers"}},"typeVersion":1},{"id":"465d78a9-f377-46ae-b4a7-aba77e1196c5","name":"Parse Analysis as Structured JSON","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2480,224],"parameters":{"jsonSchemaExample":"{\n  \"client_website\": \"Website URL being analyzed\",\n  \"search_query\": \"The search prompt used\",\n  \"chatgpt_analysis\": {\n    \"is_ranking\": \"Yes/No - Is client site visible in ChatGPT results\",\n    \"ranking_position\": \"Numerical position if visible (1-10 or null)\",\n    \"presence_strength_percent\": \"0-100 - Strength of presence percentage\",\n    \"key_mentions\": \"Brief description of how client is mentioned\",\n    \"top_competitors\": [\"competitor1.com\", \"competitor2.com\"]\n  },\n  \"claude_analysis\": {\n    \"is_ranking\": \"Yes/No - Is client site visible in Claude results\",\n    \"ranking_position\": \"Numerical position if visible (1-10 or null)\",\n    \"presence_strength_percent\": \"0-100 - Strength of presence percentage\",\n    \"key_mentions\": \"Brief description of how client is mentioned\",\n    \"top_competitors\": [\"competitor1.com\", \"competitor2.com\"]\n  },\n  \"deepseek_analysis\": {\n    \"is_ranking\": \"Yes/No - Is client site visible in DeepSeek results\",\n    \"ranking_position\": \"Numerical position if visible (1-10 or null)\",\n    \"presence_strength_percent\": \"0-100 - Strength of presence percentage\",\n    \"key_mentions\": \"Brief description of how client is mentioned\",\n    \"top_competitors\": [\"competitor1.com\", \"competitor2.com\"]\n  },\n  \"perplexity_analysis\": {\n    \"is_ranking\": \"Yes/No - Is client site visible in Perplexity results\",\n    \"ranking_position\": \"Numerical position if visible (1-10 or null)\",\n    \"presence_strength_percent\": \"0-100 - Strength of presence percentage\",\n    \"key_mentions\": \"Brief description of how client is mentioned\",\n    \"top_competitors\": [\"competitor1.com\", \"competitor2.com\"]\n  },\n  \"overall_summary\": {\n    \"total_platforms_ranking\": \"Number of platforms where client is visible\",\n    \"average_presence_strength\": \"Average percentage across all platforms\",\n    \"strongest_platform\": \"Platform with highest presence strength\",\n    \"weakest_platform\": \"Platform with lowest presence strength\",\n    \"main_competitors\": [\"top 3 competitors across all platforms\"],\n    \"recommendations\": \"Brief recommendations for improvement\"\n  }\n}"},"typeVersion":1.2},{"id":"06b6182a-5a60-4001-99d6-a362d377f948","name":"Flatten JSON to 27 Data Fields","type":"n8n-nodes-base.set","position":[2752,0],"parameters":{"options":{},"assignments":{"assignments":[{"id":"5fb9dd51-477e-4a86-a2ab-eb165b2e5b52","name":"Prompt","type":"string","value":"={{ $('Receive Website and Summary from Parent').item.json.Prompt }}"},{"id":"4d5d8493-08f2-4d8e-92a0-2b346b443d7c","name":"ChatGPT: Ranking","type":"string","value":"={{ $json.output.chatgpt_analysis.is_ranking }}"},{"id":"daff00fc-7a2e-4121-85fc-1d4cccef7b62","name":"ChatGPT: Position","type":"string","value":"={{ $json.output.chatgpt_analysis.ranking_position }}"},{"id":"12e52b41-a34a-4a4f-bd05-a6589433da06","name":"ChatGPT: Presence Strength","type":"string","value":"={{ $json.output.chatgpt_analysis.presence_strength_percent }}"},{"id":"2e7d5e1b-5a6a-49ae-9c73-8d1020a30fe2","name":"ChatGPT: Key Mentions","type":"string","value":"={{ $json.output.chatgpt_analysis.key_mentions }}"},{"id":"44a7b302-214e-4b5a-a6f2-8691fd72c2fc","name":"ChatGPT: Ranking Competitors","type":"string","value":"={{ $json.output.chatgpt_analysis.top_competitors }}"},{"id":"d910cfc7-1ea2-41aa-9425-ad2a937906fd","name":"Claude: Ranking","type":"string","value":"={{ $json.output.claude_analysis.is_ranking }}"},{"id":"269e1495-81cd-4df7-b885-9db3ff49d372","name":"Claude: Position","type":"string","value":"={{ $json.output.claude_analysis.ranking_position }}"},{"id":"8aec0392-650d-4e55-864c-e4c1f108d047","name":"Calude: Presence Strength","type":"string","value":"={{ $json.output.claude_analysis.presence_strength_percent }}"},{"id":"2ed394ed-af87-4eaa-b7c4-a0a7a612179c","name":"Claude: Key Mentions","type":"string","value":"={{ $json.output.claude_analysis.key_mentions }}"},{"id":"bd1f66db-3d70-46cc-be85-a1a1fc01f50b","name":"Claude: Ranking Competitors","type":"string","value":"={{ $json.output.claude_analysis.top_competitors }}"},{"id":"c25d36ee-c556-47b1-ae1c-a7990aa801c1","name":"Deepseek: Ranking","type":"string","value":"={{ $json.output.deepseek_analysis.is_ranking }}"},{"id":"11a5d97b-1511-41b8-9df3-113e9373d4df","name":"Deepseek: Position","type":"string","value":"={{ $json.output.deepseek_analysis.ranking_position }}"},{"id":"4c80d8d6-f65f-4f84-9f58-12ea276edaa9","name":"Deepseek: Presence Strength","type":"string","value":"={{ $json.output.deepseek_analysis.presence_strength_percent }}"},{"id":"0eda6a00-7eb6-49a1-98d3-b840e5c70262","name":"Deepseek: Key Mentions","type":"string","value":"={{ $json.output.deepseek_analysis.key_mentions }}"},{"id":"a6682f89-13c9-42e5-a818-7733f623a356","name":"Deepseek: Ranking Competitors","type":"string","value":"={{ $json.output.deepseek_analysis.top_competitors }}"},{"id":"05e1d98c-34ac-43cf-918a-49f5d4245454","name":"Perplexity: Ranking","type":"string","value":"={{ $json.output.perplexity_analysis.is_ranking }}"},{"id":"22c7a801-92ca-4aa9-a466-70c2fc057ba5","name":"Perplexity: Position","type":"string","value":"={{ $json.output.perplexity_analysis.ranking_position }}"},{"id":"37239557-abad-47f1-a27a-4b5c2e0035e4","name":"Perplexity: Presence Strength","type":"string","value":"={{ $json.output.perplexity_analysis.presence_strength_percent }}"},{"id":"484ea19b-f827-45d1-9ec6-0abfbba14bce","name":"Perplexity:  Key Mentions","type":"string","value":"={{ $json.output.perplexity_analysis.key_mentions }}"},{"id":"f0cd3cfa-1404-46a6-b70f-fb512035b75d","name":"Perplexity: Ranking Competitors","type":"string","value":"={{ $json.output.perplexity_analysis.top_competitors }}"},{"id":"d63c8961-e82c-48a5-acb0-7a52f247a518","name":"Overall: Ranking","type":"string","value":"={{ $json.output.overall_summary.total_platforms_ranking }}"},{"id":"60972256-0843-42aa-ac62-7b4cae7eb1ef","name":"Overall: Presence Strength","type":"string","value":"={{ $json.output.overall_summary.average_presence_strength }}"},{"id":"f91981bf-2aa0-4998-8b9f-82166a0db25d","name":"Strongest Platform","type":"string","value":"={{ $json.output.overall_summary.strongest_platform }}"},{"id":"d0c0556f-4994-4c34-af74-afd90ad56bd6","name":"Weekest Platform","type":"string","value":"={{ $json.output.overall_summary.weakest_platform }}"},{"id":"e4efbdfe-0716-4474-8456-92437ee059f0","name":"Overall: Main Comeptitors","type":"string","value":"={{ $json.output.overall_summary.main_competitors }}"},{"id":"ca6deae9-2631-48b8-83e6-16602998f436","name":"Recommendations","type":"string","value":"={{ $json.output.overall_summary.recommendations }}"}]}},"typeVersion":3.4},{"id":"ce1c6902-018f-47fa-a862-85867f6791b6","name":"Output Data Complete","type":"n8n-nodes-base.noOp","position":[3024,0],"parameters":{},"typeVersion":1},{"id":"db9ba0f8-bbc8-49f6-978c-76a64b513ecd","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-528,-320],"parameters":{"width":464,"height":832,"content":"## AI Search Ranking Analyzer Across 4 Platforms\n\nAutomates AI Search Engine Optimization (ASEO) tracking for\ndigital marketing agencies. Receives client website + summary,\ngenerates brand-neutral search prompts using GPT-4.1-mini,\ntests visibility across ChatGPT, Claude, DeepSeek, and Perplexity\nsimultaneously with error handling, analyzes each platform's\nranking position and presence strength (0-100%), identifies top\ncompetitors across all platforms, and produces structured 27-field\noutput with overall summary, strongest/weakest platforms, and\nactionable recommendations. Tracks the new frontier of AI\ndiscoverability beyond traditional SEO.\n\n## How it works\n1. Receives Website URL and Summary from parent workflow.\n2. AI generates search prompts users would ask (no brand names).\n3. Tests same prompt on ChatGPT (GPT-4o-mini).\n4. Tests on Claude (Sonnet 3.7) with error handling.\n5. Tests on DeepSeek with error handling.\n6. Tests on Perplexity with error handling.\n7. AI analyzes all 4 outputs for ranking, position, strength %.\n8. Identifies competitors mentioned across platforms.\n9. Flattens JSON to 27 fields for reporting.\n10. Returns comprehensive visibility scorecard.\n\n## Setup steps\n1. Create parent workflow with Execute Workflow node.\n2. Pass Website URL and Website Summary parameters.\n3. Configure OpenAI API credentials (GPT-4.1-mini, GPT-4o-mini).\n4. Configure Anthropic API credentials (Claude Sonnet 3.7).\n5. Configure DeepSeek API credentials.\n6. Configure Perplexity API credentials.\n7. Test with sample website data.\n8. Enable error handling (continueRegularOutput on agents)."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","availableInMCP":false,"executionOrder":"v1"},"versionId":"abde20d6-7b8c-46c0-ba45-7751a1723e8f","connections":{"Parse Prompt as JSON":{"ai_outputParser":[[{"node":"Generate Brand-Neutral Search Prompts","type":"ai_outputParser","index":0}]]},"Claude Sonnet 3.7 Model":{"ai_languageModel":[[{"node":"Test Visibility on Claude","type":"ai_languageModel","index":0}]]},"Test Visibility on Claude":{"main":[[{"node":"Test Visibility on DeepSeek","type":"main","index":0}]]},"DeepSeek Model for Testing":{"ai_languageModel":[[{"node":"Test Visibility on DeepSeek","type":"ai_languageModel","index":0}]]},"Test Visibility on ChatGPT":{"main":[[{"node":"Test Visibility on Claude","type":"main","index":0}]]},"DeepSeek Model for Analysis":{"ai_languageModel":[[{"node":"Analyze All Platform Results","type":"ai_languageModel","index":0}]]},"Test Visibility on DeepSeek":{"main":[[{"node":"Test Visibility on Perplexity","type":"main","index":0}]]},"Analyze All Platform Results":{"main":[[{"node":"Flatten JSON to 27 Data Fields","type":"main","index":0}]]},"GPT Model for Parser Support":{"ai_languageModel":[[{"node":"Parse Prompt as JSON","type":"ai_languageModel","index":0}]]},"GPT-4o-mini for ChatGPT Test":{"ai_languageModel":[[{"node":"Test Visibility on ChatGPT","type":"ai_languageModel","index":0}]]},"Test Visibility on Perplexity":{"main":[[{"node":"Analyze All Platform Results","type":"main","index":0}]]},"Flatten JSON to 27 Data Fields":{"main":[[{"node":"Output Data Complete","type":"main","index":0}]]},"GPT Model for Prompt Generation":{"ai_languageModel":[[{"node":"Generate Brand-Neutral Search Prompts","type":"ai_languageModel","index":0}]]},"Parse Analysis as Structured JSON":{"ai_outputParser":[[{"node":"Analyze All Platform Results","type":"ai_outputParser","index":0}]]},"Generate Brand-Neutral Search Prompts":{"main":[[{"node":"Test Visibility on ChatGPT","type":"main","index":0}]]},"Receive Website and Summary from Parent":{"main":[[{"node":"Generate Brand-Neutral Search Prompts","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":18,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.noOp":{"count":1},"n8n-nodes-base.perplexity":{"count":1},"n8n-nodes-base.stickyNote":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":5},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":3},"n8n-nodes-base.executeWorkflowTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatDeepSeek":{"count":2},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Incrementors","username":"incrementors","bio":"","verified":true,"links":["https://www.incrementors.com/"],"avatar":"https://gravatar.com/avatar/e09b4b6a8c5a00f886a9eedf3be23a4af5a50cc216cd6b2aee2a12c2dfba99dd?r=pg&d=retro&size=200"},"nodes":[{"id":26,"icon":"fa:arrow-right","name":"n8n-nodes-base.noOp","codex":{"data":{"alias":["nothing"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.noop/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"organization\"]","defaults":{"name":"No Operation, do nothing","color":"#b0b0b0"},"iconData":{"icon":"arrow-right","type":"icon"},"displayName":"No Operation, do nothing","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":837,"icon":"fa:sign-out-alt","name":"n8n-nodes-base.executeWorkflowTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"When Executed by Another Workflow","color":"#ff6d5a"},"iconData":{"icon":"sign-out-alt","type":"icon"},"displayName":"Execute Workflow Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1145,"icon":"file:anthropic.svg","name":"@n8n/n8n-nodes-langchain.lmChatAnthropic","codex":{"data":{"alias":["claude","sonnet","opus"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Anthropic Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTMyLjczIDBoLTYuOTQ1TDM4LjQ1IDMyaDYuOTQ1ek0xMi42NjUgMCAwIDMyaDcuMDgybDIuNTktNi43MmgxMy4yNWwyLjU5IDYuNzJoNy4wODJMMTkuOTI5IDB6bS0uNzAyIDE5LjMzNyA0LjMzNC0xMS4yNDYgNC4zMzQgMTEuMjQ2eiIvPjwvc3ZnPg=="},"displayName":"Anthropic Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1280,"icon":"file:deepseek.svg","name":"@n8n/n8n-nodes-langchain.lmChatDeepSeek","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatdeepseek/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"DeepSeek Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+RGVlcFNlZWs8L3RpdGxlPjxwYXRoIGQ9Ik0yMy43NDggNC40ODJjLS4yNTQtLjEyNC0uMzY0LjExMy0uNTEyLjIzNC0uMDUxLjAzOS0uMDk0LjA5LS4xMzcuMTM2LS4zNzIuMzk3LS44MDYuNjU3LTEuMzczLjYyNi0uODI5LS4wNDYtMS41MzcuMjE0LTIuMTYzLjg0OC0uMTMzLS43ODItLjU3NS0xLjI0OC0xLjI0Ny0xLjU0OC0uMzUyLS4xNTYtLjcwOC0uMzExLS45NTUtLjY1LS4xNzItLjI0MS0uMjE5LS41MS0uMzA1LS43NzQtLjA1NS0uMTYtLjExLS4zMjMtLjI5My0uMzUtLjItLjAzMS0uMjc4LjEzNi0uMzU2LjI3Ni0uMzEzLjU3Mi0uNDM0IDEuMjAyLS40MjIgMS44NC4wMjcgMS40MzYuNjMzIDIuNTggMS44MzggMy4zOTMuMTM3LjA5My4xNzIuMTg3LjEyOS4zMjMtLjA4Mi4yOC0uMTguNTUyLS4yNjYuODMzLS4wNTUuMTc5LS4xMzcuMjE3LS4zMjkuMTRhNS41MjYgNS41MjYgMCAwMS0xLjczNi0xLjE4Yy0uODU3LS44MjgtMS42MzEtMS43NDItMi41OTctMi40NThhMTEuMzY1IDExLjM2NSAwIDAwLS42ODktLjQ3MWMtLjk4NS0uOTU3LjEzLTEuNzQzLjM4OC0xLjgzNi4yNy0uMDk4LjA5My0uNDMyLS43NzktLjQyOC0uODcyLjAwNC0xLjY3LjI5NS0yLjY4Ny42ODRhMy4wNTUgMy4wNTUgMCAwMS0uNDY1LjEzNyA5LjU5NyA5LjU5NyAwIDAwLTIuODgzLS4xMDJjLTEuODg1LjIxLTMuMzkgMS4xMDItNC40OTcgMi42MjNDLjA4MiA4LjYwNi0uMjMxIDEwLjY4NC4xNTIgMTIuODVjLjQwMyAyLjI4NCAxLjU2OSA0LjE3NSAzLjM2IDUuNjUzIDEuODU4IDEuNTMzIDMuOTk3IDIuMjg0IDYuNDM4IDIuMTQgMS40ODItLjA4NSAzLjEzMy0uMjg0IDQuOTk0LTEuODYuNDcuMjM0Ljk2Mi4zMjcgMS43OC4zOTcuNjMuMDU5IDEuMjM2LS4wMyAxLjcwNS0uMTI4LjczNS0uMTU2LjY4NC0uODM3LjQxOS0uOTYxLTIuMTU1LTEuMDA0LTEuNjgyLS41OTUtMi4xMTMtLjkyNiAxLjA5Ni0xLjI5NiAyLjc0Ni0yLjY0MiAzLjM5Mi03LjAwMy4wNS0uMzQ3LjAwNy0uNTY1IDAtLjg0NS0uMDA0LS4xNy4wMzUtLjIzNy4yMy0uMjU2YTQuMTczIDQuMTczIDAgMDAxLjU0NS0uNDc1YzEuMzk2LS43NjMgMS45Ni0yLjAxNSAyLjA5My0zLjUxNy4wMi0uMjMtLjAwNC0uNDY3LS4yNDctLjU4OHpNMTEuNTgxIDE4Yy0yLjA4OS0xLjY0Mi0zLjEwMi0yLjE4My0zLjUyLTIuMTYtLjM5Mi4wMjQtLjMyMS40NzEtLjIzNS43NjMuMDkuMjg4LjIwNy40ODYuMzcxLjczOS4xMTQuMTY3LjE5Mi40MTYtLjExMy42MDMtLjY3My40MTYtMS44NDItLjE0LTEuODk3LS4xNjctMS4zNjEtLjgwMi0yLjUtMS44Ni0zLjMwMS0zLjMwNy0uNzc0LTEuMzkzLTEuMjI0LTIuODg3LTEuMjk4LTQuNDgyLS4wMi0uMzg2LjA5My0uNTIyLjQ3Ny0uNTkyYTQuNjk2IDQuNjk2IDAgMDExLjUyOS0uMDM5YzIuMTMyLjMxMiAzLjk0NiAxLjI2NSA1LjQ2OCAyLjc3NC44NjguODYgMS41MjUgMS44ODcgMi4yMDIgMi44OTEuNzIgMS4wNjYgMS40OTQgMi4wODIgMi40OCAyLjkxNC4zNDguMjkyLjYyNS41MTQuODkxLjY3Ny0uODAyLjA5LTIuMTQuMTEtMy4wNTQtLjYxNHptMS02LjQ0YS4zMDYuMzA2IDAgMDEuNDE1LS4yODcuMzAyLjMwMiAwIDAxLjIuMjg4LjMwNi4zMDYgMCAwMS0uMzEuMzA3LjMwMy4zMDMgMCAwMS0uMzA0LS4zMDh6bTMuMTEgMS41OTZjLS4yLjA4MS0uMzk5LjE1MS0uNTkuMTZhMS4yNDUgMS4yNDUgMCAwMS0uNzk4LS4yNTRjLS4yNzQtLjIzLS40Ny0uMzU4LS41NTItLjc1OGExLjczIDEuNzMgMCAwMS4wMTYtLjU4OGMuMDctLjMyNy0uMDA4LS41MzctLjIzOS0uNzI3LS4xODctLjE1Ni0uNDI2LS4xOTktLjY4OC0uMTk5YS41NTkuNTU5IDAgMDEtLjI1NC0uMDc4Yy0uMTEtLjA1NC0uMi0uMTktLjExNC0uMzU4LjAyOC0uMDU0LjE2LS4xODYuMTkyLS4yMS4zNTYtLjIwMi43NjctLjEzNiAxLjE0Ni4wMTYuMzUyLjE0NC42MTguNDA4IDEuMDAxLjc4Mi4zOTEuNDUxLjQ2Mi41NzYuNjg1LjkxNC4xNzYuMjY1LjMzNi41MzcuNDQ1Ljg0OC4wNjcuMTk1LS4wMTkuMzU0LS4yNS40NTJ6IiBmaWxsPSIjNEQ2QkZFIj48L3BhdGg+PC9zdmc+Cg=="},"displayName":"DeepSeek Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1304,"icon":"file:perplexity.svg","name":"n8n-nodes-base.perplexity","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.perplexity/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/perplexity/"}]},"categories":["AI","Utility"],"nodeVersion":"1.1","codexVersion":"1.0"}},"group":"[\"transform\"]","defaults":{"name":"Perplexity"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMjcwLjAwMDAwMHB0IiBoZWlnaHQ9IjI3MC4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDI3MC4wMDAwMDAgMjcwLjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgo8bWV0YWRhdGE+CkNyZWF0ZWQgYnkgcG90cmFjZSAxLjE0LCB3cml0dGVuIGJ5IFBldGVyIFNlbGluZ2VyIDIwMDEtMjAxNwo8L21ldGFkYXRhPgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwyNzAuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNMTg1IDI2OTEgYy04NiAtMjEgLTE1OCAtOTMgLTE3NSAtMTc1IC03IC0zNSAtMTAgLTQxNSAtOCAtMTE5NiAzCi0xMjc2IC0yIC0xMTgwIDczIC0xMjUzIDIwIC0yMCA1NCAtNDIgNzQgLTQ5IDUzIC0xOSAyMzQ5IC0xOSAyNDAyIDAgMjAgNyA1NAoyOSA3NCA0OSA3NSA3MyA3MCAtMjMgNzMgMTI1MyAyIDgxNyAtMSAxMTYxIC05IDEyMDAgLTkgNDYgLTE5IDYzIC02NCAxMDYKLTQyIDQxIC02MyA1NCAtMTA0IDYzIC01OSAxMyAtMjI4NCAxNCAtMjMzNiAyeiBtNzg2IC01NDcgbDMxNCAtMjU1IDMgMjU1IDIKMjU2IDYwIDAgNjAgMCAyIC0yNTUgMyAtMjU2IDMxNSAyNTcgMzE1IDI1NyAzIC0yOTIgMiAtMjkxIDEzNSAwIDEzNSAwIDAKLTQ1MCAwIC00NTAgLTEzNSAwIC0xMzUgMCAtMiAtMjk2IC0zIC0yOTUgLTMxMiAyNzUgYy0xNzIgMTUyIC0zMTUgMjc2IC0zMTgKMjc2IC0zIDAgLTUgLTEzMyAtNSAtMjk1IGwwIC0yOTUgLTYwIDAgLTYwIDAgMCAyOTUgYzAgMTYyIC0yIDI5NSAtNSAyOTUgLTMKMCAtMTQ2IC0xMjQgLTMxOCAtMjc2IGwtMzEyIC0yNzYgLTMgMjk2IC0yIDI5NiAtMTM1IDAgLTEzNSAwIDAgNDUwIDAgNDUwCjEzNSAwIDEzNSAwIDAgMjkwIGMwIDE2MCAyIDI5MCA0IDI5MCAyIDAgMTQ1IC0xMTUgMzE3IC0yNTZ6Ii8+CjxwYXRoIGQ9Ik03ODAgMTk4MSBsMCAtMTYxIDIxNSAwIDIxNiAwIC0yMDMgMTUxIGMtMTEyIDg0IC0yMDkgMTU2IC0yMTUgMTYyCi0xMCA3IC0xMyAtMjQgLTEzIC0xNTJ6Ii8+CjxwYXRoIGQ9Ik0xNzA2IDE5ODIgbC0yMTAgLTE1NyAyMDkgLTMgYzExNCAtMSAyMTAgLTEgMjEyIDEgMiAyIDIgNzQgMSAxNjAKbC0zIDE1NiAtMjA5IC0xNTd6Ii8+CjxwYXRoIGQ9Ik01MTAgMTM3MCBsMCAtMzMwIDcwIDAgNzAgMCAwIDg4IDAgODggMzggMzUgYzIwIDIwIDE0NiAxMjcgMjgwIDIzOQoxMzMgMTExIDI0MiAyMDQgMjQyIDIwNiAwIDIgLTE1NyA0IC0zNTAgNCBsLTM1MCAwIDAgLTMzMHoiLz4KPHBhdGggZD0iTTE0OTAgMTY5NiBjMCAtMiAxMjYgLTEwMiAyODAgLTIyMyBsMjgwIC0yMTggMCAtMTA3IDAgLTEwOCA3MCAwIDcwCjAgMCAzMzAgMCAzMzAgLTM1MCAwIGMtMTkyIDAgLTM1MCAtMiAtMzUwIC00eiIvPgo8cGF0aCBkPSJNMTAyOCAxMzkyIGwtMjQ3IC0yMTcgMCAtMjgzIGMtMSAtMjMzIDEgLTI4MiAxMiAtMjc1IDggNCAxMjIgMTA0CjI1NSAyMjIgbDI0MiAyMTQgMCAyNzggYzAgMTU0IC0zIDI3OSAtNyAyNzkgLTUgMCAtMTE5IC05OCAtMjU1IC0yMTh6Ii8+CjxwYXRoIGQ9Ik0xNDEwIDEzMzIgbDAgLTI3OSAyNDIgLTIxNCBjMTMzIC0xMTggMjQ3IC0yMTggMjU1IC0yMjIgMTEgLTcgMTMKNDIgMTIgMjc1IGwwIDI4MyAtMjQ1IDIxNSBjLTEzNSAxMTggLTI0OSAyMTcgLTI1NCAyMTggLTYgMiAtMTAgLTEwMSAtMTAKLTI3NnoiLz4KPC9nPgo8L3N2Zz4K"},"displayName":"Perplexity","typeVersion":2,"nodeCategories":[{"id":7,"name":"Utility"},{"id":25,"name":"AI"}]}],"categories":[{"id":32,"name":"Market Research"},{"id":49,"name":"AI Summarization"}],"image":[]}}