Ir al contenido

Focus Group

Area: Marketing Workflow: workflows/marketing/focus-group.json

Intake step for Bewomo’s Focus Group product. A requester (client or internal user) submits an asset they want validated (logo, web, ad / content, development), describes the target audience and provides example contacts, and the workflow:

  • Captures the brief.
  • Persists it to Google Sheets (focus_group_requests tab).
  • Notifies the Bewomo back-office team so they can source the audience and run the session.

Optionally — if human feedback ends up low — AI agents trained on the target persona’s psychology can validate alongside humans (claimed ~89% effectiveness). That AI fallback path is not implemented yet; this workflow only captures the preference.

Form Trigger: Receive Focus Group Request
→ Code: Normalize Focus Group Brief
→ Google Sheets: Append Request (focus_group_requests tab)
→ Gmail: Send Internal BO Request (to bo@bewomo.com)
Field Type Required Notes
Requester Name text yes
Requester Email email yes
Validation Type dropdown yes Logo / Web / Campaign or Content / Development
What You Want To Validate textarea yes E.g. comparative preference, general opinion, specific aspect.
Asset URL text no For Web (or any URL-based asset).
Asset Files file no Multi-file upload. For Logo / Campaign or Content.
Asset Description textarea no For Development or extra context.
Target Audience Description textarea yes Who should validate. Role, industry, seniority, geography, etc.
Target Examples textarea yes Free text — 7 example companies + decision-maker LinkedIn URLs.
AI Agent Fallback dropdown yes Yes — if human feedback is low / Always — alongside humans / No — humans only
{
"request_id": "<ISO-8601 timestamp>",
"requester_name": "string",
"requester_email": "string",
"validation_type": "Logo | Web | Campaign or Content | Development",
"validation_question": "string",
"asset_url": "string",
"asset_description": "string",
"asset_files": [
{ "field": "Asset Files", "filename": "logo-v1.png", "mime": "image/png", "size": 12345 }
],
"asset_files_count": 1,
"target_audience": "string",
"target_examples": "string",
"ai_fallback": "string",
"status": "pending",
"submitted_at": "<ISO-8601 timestamp>"
}

Lives in the existing workbook ($env.WORKBOOK_ID). One row per submitted request.

Column Type Notes
request_id string PK. ISO-8601 timestamp.
requester_name string
requester_email string
validation_type enum Logo / Web / Campaign or Content / Development.
validation_question string Free text.
asset_url string Nullable.
asset_description string Nullable.
asset_files_count number Count of uploaded files.
asset_files_summary json JSON array of { filename, mime, size } — metadata only, files not stored yet.
target_audience string
target_examples string Free text — 7 LinkedIn URLs + companies.
ai_fallback string The requester’s preference for AI agent validators.
status enum pendingsourcingrunningcompleteddropped. Advanced manually.
submitted_at string ISO-8601.
last_updated_at string ISO-8601.

Sent via Gmail to bo@bewomo.com (placeholder — edit in the Gmail node after import).

The body contains the full brief so the BO team has everything to start sourcing the audience.

commercial.

  • Google Sheets: googleSheetsOAuth2Api.
  • Gmail: gmailOAuth2.
  • File storage. Files are uploaded to the form but currently only their metadata is recorded. Decide where the actual binaries go (Google Drive folder? S3? n8n binary store with TTL?).
  • Type-specific routing. A Switch by validation_type is not wired yet. When each type gets its own follow-up logic (e.g. comparative LLM analysis for Logo, accessibility audit for Web), add a Switch: By Validation Type after the Code node.
  • AI agent fallback. The preference is captured but the AI-agent simulation stage is not built. Needs: target-persona prompting, agent personalities, scoring rubric, comparison vs. human results.
  • Confirmation to requester. Currently only the form’s response text confirms. Decide if we want a follow-up email to the requester (with the request ID, expected timeline, etc.).
  • target_examples structure. Free text now. Could become a repeatable field set (company + LinkedIn URL pairs) or a CSV upload.