{"product_id":"n8n-workflow-audit-auto-fix-ad-campaigns-w-spendict-openai","title":"n8n Workflow: Audit \u0026 Auto-Fix Ad Campaigns w\/ Spendict, OpenAI","description":"\u003ch3\u003eAuto-audit your ad campaign builds and fix failures automatically with Spendict + OpenAI\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow takes an ad campaign build brief from an n8n form, audits the structure with \u003cstrong\u003eSpendict\u003c\/strong\u003e, and—when the build doesn’t meet the recommended launch criteria—uses \u003cstrong\u003eOpenAI\u003c\/strong\u003e to rewrite the campaign structure in JSON. It then re-audits the revised build and logs the final outcome to \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e and posts a verdict to \u003cstrong\u003eSlack\u003c\/strong\u003e.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCollects inputs:\u003c\/strong\u003e Receives campaign details (platform, objective, and free-text campaign structure) via an n8n form trigger.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAudits with Spendict:\u003c\/strong\u003e Sends the brief to Spendict’s audit API to score the structure and return a launch recommendation with prioritized fixes.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRoutes based on recommendation:\u003c\/strong\u003e If the build is “sound,” it passes through unchanged.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAuto-fixes with OpenAI:\u003c\/strong\u003e If changes are needed, the workflow sends Spendict’s prioritized fixes to the \u003cstrong\u003eOpenAI Chat Completions API\u003c\/strong\u003e to generate a revised campaign structure in JSON.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRe-audits revised builds:\u003c\/strong\u003e Parses the updated JSON and submits it back to Spendict for a new score and verdict.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLogs results \u0026amp; notifies:\u003c\/strong\u003e Appends the final result (original or auto-restructured) to \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e and posts a summary to \u003cstrong\u003eSlack\u003c\/strong\u003e via an incoming webhook.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eSaaS operators who want consistent, repeatable ad campaign build reviews before launch.\u003c\/li\u003e\n  \u003cli\u003eAutomation engineers building a QA gate for paid media structures across teams.\u003c\/li\u003e\n  \u003cli\u003eMarketing teams standardizing how briefs are turned into launch-ready formats using Spendict scoring.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrations:\u003c\/strong\u003e Spendict HTTP (Authorization: Bearer), OpenAI Chat Completions (Authorization: Bearer), Google Sheets, Slack Incoming Webhook.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes used:\u003c\/strong\u003e \u003cem\u003ecode, merge, switch, sticky note, form trigger, http request\u003c\/em\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSetup required:\u003c\/strong\u003e Add Spendict and OpenAI API keys via HTTP Header Auth, configure the target spreadsheet\/sheet for the Google Sheets append step, and replace the placeholder Slack webhook URL.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45726239359155,"sku":"N8N-17468","price":51.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/Y0nDt0K5yCJ5sTntiKsg_id9EASCe.png?v=1785056942","url":"https:\/\/buyflowscripts.com\/products\/n8n-workflow-audit-auto-fix-ad-campaigns-w-spendict-openai","provider":"N8N Commerce","version":"1.0","type":"link"}