๐ Run synthetic campaign focus groups with Claude and Google Sheets and SendGrid
โก 14 views ยท ๐ Market Research & Insights
Description
Quick overview
This workflow receives marketing campaign copy via webhook, simulates reactions from weighted ICP-based AI personas using Anthropic Claude, calculates an explainable 0โ100 appeal score, writes a launch recommendation, logs results to Google Sheets, and notifies the appropriate team by SendGrid email.
How it works
- Receives a webhook POST containing campaign details (copy, channel, CTA, offer, brand voice, budget) and a JSON list of ICP segments with weights.
- Builds a normalized persona panel from the ICP segments so persona weights sum to 1.
- Uses Anthropic Claude to role-play each personaโs reaction to the campaign and returns structured scores plus a confidence rating that the copy is usable.
- If the confidence is too low, responds to the webhook with an โinput insufficientโ message instead of scoring the campaign.
- Aggregates persona reactions into weighted metrics and a composite 0โ100 appeal score with a readiness tier using a deterministic formula.
- Uses Anthropic Claude again to synthesize the panel results into an overall recommendation, risks, strengths, and suggested copy changes.
- Appends a summary row for every run to a Google Sheets tracker, sends a SendGrid email to the growth or creative team based on the recommendation, and responds to the webhook with the full report JSON.
Setup
- Add Anthropic credentials and select them for both Claude chat model steps.
- Add Google OAuth2 credentials for the Google Sheets API request and replace
YOUR_SHEET_IDwith your spreadsheet ID. - Create a
FocusGroupReportssheet/tab with headers matching the workflowโs appended row format (campaign metadata, scores, recommendation, risks, decided timestamp). - Add a SendGrid API key and replace
YOUR_SENDGRID_API_KEY, then update the growth and creative recipient email addresses used in the SendGrid requests. - Copy the production webhook URL from n8n and configure your campaign submission tool to POST to
/synthetic-focus-group-inboundwith the expected fields (or rely on the built-in defaults for testing).
๐ Nodes Used
HTTP Request, Webhook, AI Agent, Anthropic Chat Model
๐ฅ Import
Download workflow.json and import into n8n:
Workflow menu โ Import from File