{"nodes":[{"id":"293b70f0-06e8-4db5-befd-bfaed1f3575a","name":"When clicking ‘Test workflow’","type":"n8n-nodes-base.manualTrigger","position":[-460,80],"parameters":{},"typeVersion":1,"notes":"This manualTrigger node performs automated tasks as part of the workflow."},{"id":"1c473546-6280-412d-9f8e-b43962365d78","name":"Set Params","type":"n8n-nodes-base.set","position":[-160,-60],"parameters":{"options":{},"assignments":{"assignments":[{"id":"8b5c6ca0-5ca8-4f67-abc1-44341cf419bc","name":"system_prompt","type":"string","value":"You are an n8n fanboy."},{"id":"7c36c362-6269-4564-b6fe-f82126bc8f5e","name":"user_prompt","type":"string","value":"What are the differences between n8n and Make?"},{"id":"4366d2b5-ad22-445a-8589-fddab1caa1ab","name":"domains","type":"string","value":"n8n.io, make.com"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"894bd6a4-5db7-45fb-a8e0-1a81af068bbf","name":"Clean Output","type":"n8n-nodes-base.set","position":[580,-100],"parameters":{"options":{},"assignments":{"assignments":[{"id":"5859093c-6b22-41db-ac6c-9a9f6f18b7e3","name":"output","type":"string","value":"={{ $json.choices[0].message.content }}"},{"id":"13208fff-5153-45a7-a1cb-fe49e32d9a03","name":"citations","type":"array","value":"={{ $json.citations }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"52d3a832-8c9b-4356-ad2a-377340678a58","name":"Perplexity Request","type":"n8n-nodes-base.httpRequest","position":[240,40],"parameters":{"url":"{{ $env.API_BASE_URL }}","method":"POST","options":{},"jsonBody":"={\n  \"model\": \"sonar\",\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"{{ $json.system_prompt }}\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"{{ $json.user_prompt }}\"\n    }\n  ],\n  \"temperature\": 0.2,\n  \"top_p\": 0.9,\n  \"search_domain_filter\": {{ (JSON.stringify($json.domains.split(','))) }},\n  \"return_images\": false,\n  \"return_related_questions\": false,\n  \"search_recency_filter\": \"month\",\n  \"top_k\": 0,\n  \"stream\": false,\n  \"presence_penalty\": 0,\n  \"frequency_penalty\": 1,\n  \"response_format\": null\n}","sendBody":true,"specifyBody":"json","authentication":"{{ $credentials.genericCredentialType }}","genericAuthType":"httpHeaderAuth"},"credentials":{"httpBasicAuth":{"id":"yEocL0NSpUWzMsHG","name":"Perplexity"},"httpHeaderAuth":{"id":"TngzgS09J1YvLIXl","name":"Perplexity"}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"48657f2c-d1dd-4d7e-8014-c27748e63e58","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-140,-440],"parameters":{"width":480,"height":300,"content":"## Credentials Setup\n\n1/ Go to the perplexity dashboard, purchase some credits and create an API Key\n\n{{ $env.API_BASE_URL }}\n\n2/ In the perplexity Request node, use Generic Credentials, Header Auth. \n\nFor the name, use the value \"Authorization\"\nAnd for the value \"Bearer pplx-e4...59ea\" (Your Perplexity Api Key)\n\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"e0daabee-c145-469e-93c2-c759c303dc2a","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[100,260],"parameters":{"color":5,"width":480,"height":120,"content":"**Sonar Pro** is the current top model used by perplexity. \nIf you want to use a different one, check this page: \n\n{{ $env.WEBHOOK_URL }}"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."}],"connections":{"Perplexity Request":{"main":[[],[],[],[],[],[],[],[],[]]}},"name":"Manualtrigger Workflow","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"description":"Automated workflow: Manualtrigger Workflow. This workflow integrates 5 different services: stickyNote, httpRequest, set, stopAndError, manualTrigger. It contains 8 nodes and follows best practices for error handling and security.","meta":{"instanceId":"workflow-56cfb188","versionId":"1.0.0","createdAt":"2025-09-29T07:07:49.192803","updatedAt":"2025-09-29T07:07:49.192817","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"notes":"Excellent quality workflow: Manualtrigger Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}