GLOBAL VIEW · END-TO-END PIPELINE

System flow

Client → JobPost → Campaign → Meta Ads → Performance

Needles connects companies with passive talent through Meta Ads campaigns. The system has 5 sequential stages mapped 1:1 to Airtable tables. Each stage has its own forms, automations and statuses. Most transitions are automatic; some require a consultant to act. The flow always ends with a campaign published in Meta Ads (paused) and KPIs syncing daily.

5

Airtable tables

11

Automations

13

Pipeline statuses

4

Web apps

RECORD-LEVEL FIELDS · TRAVEL WITH EACH CAMPAIGN

Information that travels through the pipeline

Client (linked, from Clients table) · Job Post (linked, source of truth for vacancy data) · Status (drives all automations) · Country & Budget (consultant-defined) · Review URLs (auto-generated for consultant + client) · Meta IDs (Campaign / Ad Set / Lead Form, set on publish) · Published Meta Snapshot (used to detect changes for live edits)

A

PHASE A

Consultants directory

Internal staff registry. No automations — just data. Every Needles consultant must exist here before being assigned to a client.

STATE A · CONSULTANTS MANUAL · OPS

Add consultant to the system

A new Needles employee is added through the Consultant Form. Once saved, the consultant can be linked from any record in the Clients table.

Consultant Form No automation

B

PHASE B

Client onboarding

Clients fill the intake form. Once their website is captured, the system extracts their branding (colors, tone, display link) automatically. From here on, the client can have unlimited Job Posts.

STATE B · CLIENTS CLIENT · FORM

Client intake → branding extraction

Client fills the Client Form. The system reads the website, extracts brand colors, tone, and the canonical careers URL, and saves them to the client record. The consultant assigned to the client is set manually.

Client Form Branding extraction

C

PHASE C

Job Post intake & extraction

Client sends a vacancy document. The system parses it and builds a structured Job Post: title, description, requirements, USPs, hook, salary, etc. One Job Post = one campaign downstream.

STATE C · JOB POSTS CLIENT · FORM

Job Post received → vacancy parsed

Client uploads the vacancy via the Job Post Form with attachment (PDF / DOCX / image). The system reads the document and fills 14+ structured fields automatically (job title, location, salary, USPs, hook, conditions, etc.).

Job Post Form Job Post processing

D

PHASE D

Campaign Pipeline — content, review, publish

The big one. 13 statuses, 9 automations, 2 review cycles, 1 publish step. Generates copies + visuals, runs them through consultant + client review, configures the lead form, and finally publishes to Meta. Detailed flow lives in the AIRTABLE tab.

SUMMARY SYSTEM + CONSULTANT + CLIENT

Status-driven content generation & review

Statuses progress: Generate CopiesGenerate VisualsReview ConsultantChanges ConsultantReview ClientChanges ClientConfigurate CampaingPublishedPaused / Active / Updating Live. The two ↻ steps can repeat any number of times until approval.

9 automations Review apps Visual Generator

E

PHASE E

Ads performance — daily KPI sync

Once a campaign is live, KPIs are pulled from Meta Ads every morning into the Ads Performance table. One row per day per campaign. This is what consultants consult to report to clients.

STATE E · ADS PERFORMANCE SYSTEM · DAILY 06:00

Daily KPI ingestion

Every morning at 06:00, the system reads Meta Ads insights for the previous day and writes one row per campaign: spend, impressions, reach, frequency, link clicks, CTR, leads, CPM, CPC, lead conversion rate.

Daily KPI sync

Airtable tables & automations

One section per table. Each documents its forms, fields, automations, and the SOP to operate it.

1 · Consultants

Internal staff registry. Manual entry only. No automations.

Consultant Form airtable.com/.../pagBSDYtwVo3CctQX/form

FIELDS

Consultant record

FieldTypeNotes
NameTextRequired
EmailEmailRequired, unique
ActiveCheckboxInactive consultants stay in DB but aren't assignable
ClientsLinked (Clients)Reverse link from Clients table

SOP · Add a new consultant to the system

  1. Open the Consultant Form.
  2. Fill Name, Email, mark Active = true.
  3. Submit. The consultant is now available to be linked from any client record.
  4. Open the Clients table and assign existing clients to this consultant if needed.

2 · Clients

Companies that hire Needles. One automation: branding extraction.

Client Form airtable.com/.../pagTqIxzdeuSr1tzw/form

FIELDS

Client record

FieldTypeNotes
Company NameTextRequired
Contact EmailEmailRequired, used to send the client review email
WebsiteURLTriggers branding extraction
BrandingLong textAuto-filled (colors, tone, style)
Display Link MetaTextAuto-filled (e.g. company.com/vacatures) — used in ads
Meta Page IDTextRequired to publish ads — must be set manually
LogoAttachmentUsed in visuals
ConsultantLinked (Consultants)Required
AUTOMATION · CLIENTS SYSTEM

Branding extraction

Triggers: when a client record has Website filled and Branding empty.
What it does: reads the website, downloads brand assets (logos, header images), and writes a brand summary (palette + tone + visual style) into the client record. Also derives the canonical careers URL.
Writes: Branding, Display Link Meta.
▶ See: How to onboard a new client

Branding extraction

SOP · Onboard a new client

  1. Send the Client Form link to the client (or fill it on their behalf during onboarding).
  2. Verify Website is filled — branding extraction kicks off automatically and populates Branding + Display Link Meta.
  3. Manually set Meta Page ID (ask the client for their FB page ID — required to publish ads).
  4. Assign a Consultant.
  5. Send the Job Post Form link so the client can submit their first vacancy.

3 · Job Posts

One job vacancy per record. One automation: Job Post processing. Each Job Post drives one Campaign downstream.

Job Post Form airtable.com/.../pagiKujL1o4oUf2cV/form

FIELDS · AUTO-FILLED FROM DOCUMENT

Job Post record

FieldTypeNotes
ClientLinked (Clients)Required, set on form submit
DocumentAttachmentRequired — triggers extraction
Job TitleTextAuto
LocationTextAuto
Job DescriptionLong textAuto
RequirementsLong textAuto
Salary / Work Hours / Contract TypeMixedAuto if present in document
ConditionsLong textAuto
USPsLong textAuto — bullets, one per line
Short USPsLong textAuto — max 4 lines × 38 chars (used in visuals)
HookTextAuto — direct question to candidate
Schedule / Experience Level / CultureMixedAuto
AUTOMATION · JOB POSTS SYSTEM

Job Post processing

Triggers: when a Job Post is created with a Document attached.
What it does: reads the document and extracts every relevant field into the record. Also generates 4 short USPs for visuals and a hook question for ads.
Writes: all 14 Job Post fields above.
▶ See: How to process a Job Post received by email

Job Post processing

SOP · Process a Job Post received by email

  1. Open the Job Post Form (or open the Job Posts table directly).
  2. Link the Client.
  3. Attach the document to Document.
  4. Submit. Wait ~30 seconds — the automation fills all fields.
  5. Review the auto-extracted fields. Edit if anything is missing or off.
  6. The Job Post is now ready to be linked from a new Campaign Pipeline record.

4 · Campaign Pipeline

The heart of the system. Note the Airtable typo: the table is named Campaing Pipeline (with one "i"). 13 statuses, 9 automations, 2 review cycles.

STATUS-DRIVEN STATE MACHINE

All statuses at a glance

Status is the single field that orchestrates the pipeline. Never edit it manually unless you understand the downstream effect.

#StatusWho actsWhat happens
1Generate CopiesSystemGenerates 5 copies (1 short, 2 medium, 2 long)
2Generate VisualsSystemGenerates 6 images (3 visuals × 1:1 + 9:16)
3Review ConsultantConsultantConsultant reviews via Consultant Review App
4Changes ConsultantSystemApplies consultant feedback to copies/visuals
5Review ClientClientEmail sent. Client reviews via Client Review App
6Changes ClientSystemApplies client feedback
7Content ReadyConsultantConsultant decides next step (skip or configure)
8Configurate CampaingSystem + ConsultantGenerates lead form + sends email/Slack to consultant
9PublishedSystemCreates campaign in Meta Ads
10Paused / ActiveConsultantMirrors status to Meta Ads
11Updating LiveSystemDiffs vs published snapshot, replaces only what changed
12ErrorSystemNotifies consultant; resolve and reset

URLS LIVE IN THE RECORD · WHERE TO FIND EACH ONE

Quick reference: which field stores which URL

ActionField with the URLWho opens it
Consultant reviews copies + visualsConsultant Review URLConsultant
Client reviews copies + visualsClient Review URLClient
Configure Meta campaign (lead form, budget, targeting) AND apply changes to live campaignUrl Review Meta CampaingConsultant
Edit one or more visuals manuallyVisual Generator opens with ?campaign=<recordId>Consultant
STATUS 1 · GENERATE COPIES SYSTEM

Generate copies

Triggers: when a campaign is created (status starts here automatically).
What it does: reads the linked Job Post + reference examples, generates 5 copies — 1 short (40-75 words), 2 medium (80-140), 2 long (150-210).
Writes: Short Copy, Medium Copy 1, Medium Copy 2, Long Copy 1, Long Copy 2.
Sets status → Generate Visuals.

Generate copies
STATUS 2 · GENERATE VISUALS SYSTEM

Generate visuals

Triggers: automatically after copies are generated.
What it does: picks 3 templates and renders 3 visuals (each one in 1:1 + 9:16). Saves the images and stores the editor state so a consultant can re-edit them later in the Visual Generator.
Writes: Visual 1, Visual 2, Visual 3, Consultant Review URL.
Sets status → Review Consultant.

Generate visuals Visual Generator

Consultant review cycle

The consultant reviews 3 visuals + 5 copies in the Consultant Review App (URL in Consultant Review URL). They have two outcomes:

1. Approve everything. Submit with no comments → consultant manually changes status to Review Client (the email to the client goes out).

2. Request changes. Write feedback per item → status goes to Changes Consultant. The system applies the feedback, regenerates the review URL, and the cycle repeats. This step can repeat any number of times until the consultant approves.

Consultant approves?

Decision · request changes / approve / skip client

TRACK A · CHANGES

Request changes

Consultant fills feedback fields

STATUS 4 · CHANGES CONSULTANT SYSTEM

Apply consultant feedback

Reads the consultant's review fields. If feedback is present, the system rewrites the affected copies/visuals. If empty, only a new review URL is generated. Clears the feedback fields.
Sets status → Review Consultant (cycle restarts).

Apply changes consultant

TRACK B · APPROVE

Approve as-is

Consultant changes status manually

STATUS 5 · REVIEW CLIENT SYSTEM

Send email to client

The system validates required fields, then Airtable sends the client an email with the Client Review URL as a button. Email template lives in reference/email-automation-setup.md.

Send client email Email to client Client Review App

Client review cycle

The client opens the email and clicks through to the Client Review App (URL in Client Review URL). They see the same 3 visuals + 5 copies the consultant approved. Two outcomes:

1. Approve everything. Submit with no comments → status goes to Content Ready. The consultant takes over.

2. Request changes. Write feedback per item → status goes to Changes Client. The system applies the feedback. Then the consultant decides: (a) review the new version internally and re-send to the client, or (b) skip the second client review and go straight to Content Ready if changes were minor. This step can repeat any number of times.

Client approves?

Decision · approve / request changes

TRACK A · CHANGES

Request changes

Client submits feedback per copy/visual

STATUS 6 · CHANGES CLIENT SYSTEM

Apply client feedback

Same logic as consultant changes but on client-side fields. The consultant then decides whether to send back to the client or skip.
Sets status → Review Client (or Content Ready if consultant skips).

Apply changes client

TRACK B · APPROVE

Client approves

Submits review with no comments

STATUS 7 · CONTENT READY CONSULTANT

Awaiting campaign config

All content approved. Consultant manually changes status to Configurate Campaing when ready to set up the Meta campaign (budget, targeting, lead form).

Consultant action
STATUS 8 · CONFIGURATE CAMPAING SYSTEM + CONSULTANT

Generate lead form & notify consultant to configure

On first entry to this status the system generates a filtervraag (filter question + pass/fail answers) for the Meta lead form, stores it in Lead Form Questions, and creates the configuration URL in Url Review Meta Campaing.

The consultant is then notified by email and Slack to open that URL and review the lead form, budget, country, and targeting.

If the consultant adds notes in Consultant Notes - Meta Form, the system applies those changes to the lead form JSON. The consultant can iterate on this step until satisfied.

Generate lead form Apply config changes Email + Slack to consultant Campaign Config App
STATUS 9 · PUBLISHED SYSTEM · META ADS

Publish to Meta Ads

Triggers: consultant changes status to Published from the configuration page.
What it does: creates the campaign in Meta Ads — campaign, ad set with country + location targeting, lead form, 6 image uploads (3×1:1 + 3×9:16), 3 creatives (each combining images + a copy), 3 ads.
Writes: Meta Campaing ID, Meta Campaing URL, Meta Ad Set ID, Meta Lead Form ID, Campaign Name, Published Meta Snapshot.
Always ends in Paused. The campaign is never activated automatically — a consultant flips status to Active after final review.

Publish to Meta
STATUS 11 · UPDATING LIVE SYSTEM

Edit a live campaign — apply changes to Meta

For campaigns already published. The consultant edits copies, visuals, lead form, budget, location, or name. To push these to Meta, they open the Campaign Configuration App using the URL stored in Url Review Meta Campaing and click "Apply Changes to Meta".

The status becomes Updating Live. The system compares the current state against Published Meta Snapshot and replaces only what changed in Meta — faster and lower risk than a full re-publish.

Always ends in Paused. Consultant flips back to Active after a final visual check on Meta.

Update Meta ads diff vs snapshot Campaign Config App
STATUS 10 · ACTIVE / PAUSED SYSTEM

Mirror status to Meta Ads

When the consultant flips status between Active and Paused, the system mirrors that change to the live Meta campaign so the ads start or stop serving accordingly.

Update Meta status

5 · Ads Performance

One row per day per campaign. Auto-populated by the daily KPI sync at 06:00.

FIELDS · AUTO-FILLED FROM META INSIGHTS

Ads Performance record

FieldTypeReported to client?
DateDateYes
Meta Campaing IDLookup
Impressions / Reach / FrequencyNumberYes
Link Clicks / Unique Link ClicksNumberLink Clicks only
CTRPercentYes
Leads / Leads Conversion RateNumber / PercentYes
Spend / CPM / CPC / CPLCurrency / NumberInternal only
AUTOMATION · ADS PERFORMANCE SYSTEM · DAILY 06:00

Daily KPI sync

Triggers: Airtable scheduled automation, every day at 06:00.
What it does: for every active campaign, reads Meta insights for the previous day. Extracts impressions, reach, clicks, leads, CTR, CPM, CPC, etc. Calculates Lead Conversion Rate.
Writes: a new row in Ads Performance per campaign per day.
▶ See: How to read campaign performance

Daily KPI sync

Web apps

Four custom apps complement Airtable. Pick one to read its details.

Consultant Review App

Where the consultant reviews 3 visuals + 5 copies and either approves or requests changes.

URL · FIELD · TRIGGER

How the consultant accesses it

URL pattern: https://needles-review.pages.dev/consultant/review?token=<token>
Where to find it: field Consultant Review URL on the campaign record.
Generated when: visuals finish rendering (status becomes Review Consultant). Regenerated after every Changes Consultant cycle.

needles-review.pages.dev/consultant/review?token=…

Review campaign content

Approve everything or write feedback per item.

VISUAL 1
Feedback…
VISUAL 2
Feedback…
VISUAL 3
Feedback…
COPY · Short
Feedback…
COPY · Medium
Feedback…
COPY · Long
Feedback…

WHAT IT WRITES TO AIRTABLE

Form behaviour

UI inputSaves to
Visual 1/2/3 feedbackReview Visual 1/2/3 Consultant
Copy feedbackReview Copy 1/2/3 Consultant
Submit (any field filled)Status → Changes Consultant
Submit (all empty)Consultant manually moves status → Review Client

Client Review App

The client-facing review of copies + visuals. Same UI as consultant version, different fields.

URL · FIELD · TRIGGER

How the URL gets to the client

URL pattern: https://needles-review.pages.dev/review/<token>
Where to find it: field Client Review URL on the campaign record.
How it's sent: when the consultant changes status to Review Client, the system sends an automated email to the client's Contact Email with the URL as a button. If the email gets lost, the consultant can copy the URL from the field and resend manually.
Token rotation: a new token + URL are generated after every Changes Client cycle (old links stop working).

needles-review.pages.dev/review/8f3a2-…client-token

Beoordeel je vacature-campagne

Hieronder zie je 3 visuals en 3 copies. Geef per item feedback of klik op "Goedkeuren".

VISUAL 1 · 1:1 + 9:16
Feedback…
VISUAL 2 · 1:1 + 9:16
Feedback…
VISUAL 3 · 1:1 + 9:16
Feedback…
COPY · Short
Feedback…
COPY · Medium
Feedback…
COPY · Long
Feedback…

WHAT IT WRITES TO AIRTABLE

Form behaviour

UI inputSaves to
Visual feedbackReview Visual 1/2/3 Client
Copy feedbackReview Copy 1/2/3 Client
Submit (any field filled)Status → Changes Client
Submit (all empty)Status → Content Ready

Campaign Configuration App

Where the consultant reviews and edits the Meta campaign — before publishing AND for live edits.

URL · FIELD · TRIGGER

How the consultant accesses it

Where to find the URL: field Url Review Meta Campaing on the campaign record.
Generated when: status moves to Configurate Campaing (after client approves the content).
Notification: the consultant receives an email + Slack message when the URL is ready.
Same URL is reused for live edits: after publishing, opening this URL again lets the consultant push changes to the live Meta campaign with one button.

needles-review.pages.dev/configure/<token>

Configure Meta campaign

Lead form · Budget · Country · Targeting · Final preview

LEAD FORM EDITOR

Filtervraag + pass/fail answers (auto-generated, editable)

CAMPAIGN PREVIEW

3 ads · Country · Budget · Display Link

▶ Apply Changes to Meta

TWO USES OF THIS APP

Pre-publish vs. live edit

WhenWhat the consultant doesResult
Status = Configurate Campaing Reviews lead form, budget, country, targeting. Adds notes in Consultant Notes - Meta Form if changes needed (system applies them). When ready, clicks Publish. Status → Published. System creates the campaign in Meta (paused).
Status = Paused / Active (campaign already published) Edits any of: copies, visuals, lead form, budget, location, name. Clicks Apply Changes to Meta. Status → Updating Live. System pushes only the diff to Meta. Returns to Paused.

Visual Generator

The editor that produces the 6 ad images per campaign. Has two access modes — they behave very differently.

Open Visual Generator needles-visual-editor.pages.dev

ACCESS MODE 1 · AUTOMATIC (THROUGH THE CAMPAIGN)

Auto: triggered by the pipeline

When a campaign reaches status Generate Visuals, the system runs the Visual Generator headlessly. It picks 3 templates deterministically (so re-runs are consistent), renders each visual as 1:1 + 9:16, saves all 6 images, and stores the editor state so the consultant can re-edit later.

The consultant does nothing in this mode. Visuals just appear in Visual 1, Visual 2, Visual 3 a few minutes after status changes.

Generate visuals

ACCESS MODE 2 · MANUAL (DIRECT ACCESS)

Manual: consultant opens the editor in browser

The editor can be opened in two ways depending on whether you already know which campaign you want to work on:

1. Open with no campaign (https://needles-visual-editor.pages.dev/) — the editor lands on a campaign picker. The consultant sees a searchable list of all campaigns (filterable by status: Review Consultant, Paused, Active, etc.) and selects the one to work on. Recommended way when reviewing multiple campaigns.

2. Open with a campaign already selected (?campaign=<recordId>) — skips the picker and loads that campaign directly. Use when jumping in from an Airtable record link or a Slack/email mention.

When to use the editor: when the auto-rendered visuals need adjustment — different template, different photo, custom USPs, brand colors override, etc.
What the consultant can change: template, subject photo, background, USPs, hook, logo, brand colors. Both ratios (1:1 + 9:16) preview live.
What happens on save: new images are saved, the Visual 1/2/3 fields update. If the campaign is already published, the consultant must then open the Campaign Configuration App and click Apply Changes to Meta to push the new visual live.

needles-visual-editor.pages.dev/?campaign=recXXXXXXXXX

Visual Editor

Job: Servicemonteur · Amsterdam · €3.200 - €3.800

CANVAS · 1:1 PREVIEW
CANVAS · 9:16 PREVIEW

CONTROLS

· Template selector
· Subject photo upload
· Background photo
· USPs editor
· Hook editor
· Logo upload
· Brand colors
· Render & save

Stack

High-level overview of the tools that power Needles. Useful to know which platform owns which part of the system.

Database · forms · automations

Airtable

Source of truth for all 5 tables. Hosts the Client / Job Post / Consultant forms. Native automations orchestrate the pipeline.

Cloud automation runtime

Trigger.dev

Runs all 11 long-running tasks (data extraction, generation, publishing, KPI sync) with retries and logs.

Language model (AI)

Claude API

Powers branding extraction, vacancy parsing, copy generation, lead-form filtervraag and feedback application.

Web hosting (review & visual apps)

Cloudflare Pages

Hosts the four web apps (Consultant Review, Client Review, Campaign Configuration, Visual Generator).

Image storage / CDN

Cloudinary

All visuals (1:1 + 9:16) are uploaded here. Stable URLs used in Airtable and Meta Ads creatives.

Headless rendering

Puppeteer

Drives the Visual Generator in automatic mode to render and capture the 6 images per campaign.

Ads platform (destination)

Meta Ads (Facebook + Instagram)

Where every campaign is published. Lead Forms collect candidate data. Insights feed the Ads Performance table.

Internal notifications

Email + Slack

Used to notify consultants when human action is required (e.g. Meta campaign config ready to review).

How-To · SOP playbook

Step-by-step recipes for every recurring operation. Cards in the AIRTABLE tab link directly to the relevant SOP below.

01

Add a new consultant

  1. Open the Consultant Form.
  2. Fill Name, Email, mark Active.
  3. Submit. Consultant is now linkable from any client.

02

Onboard a new client

  1. Send the Client Form link.
  2. Verify Website is set — branding extraction runs automatically.
  3. Manually set Meta Page ID (ask the client).
  4. Assign a Consultant.
  5. Send the Job Post Form link to start the first vacancy.

03

Process a Job Post received by email

  1. Open the Job Post Form (or Job Posts table directly).
  2. Link the Client.
  3. Attach the document to Document.
  4. Save. Wait ~30s — automation fills all fields.
  5. Review extracted fields and edit if needed.

04

Create a campaign for a Job Post

  1. Open the Campaign Pipeline table.
  2. Create a new record. Link the Job Post.
  3. Set Country + Budget.
  4. Status starts at Generate Copies automatically.
  5. The chain runs to Review Consultant.

05

Consultant review (cycle)

  1. Open the campaign record. Click the URL in Consultant Review URL.
  2. Review 3 visuals + 5 copies in the Consultant Review App.
  3. Approve: leave all feedback empty → submit. Then change status to Review Client.
  4. Request changes: write feedback per item → submit. Status goes to Changes Consultant.
  5. Wait until status returns to Review Consultant — re-review. Repeat as needed.

06

Send to client & client review (cycle)

  1. From Review Consultant, change status to Review Client.
  2. The system sends an email to the client with the Client Review URL.
  3. If the client replies "no changes" → status moves to Content Ready.
  4. If the client requests changes → status goes to Changes Client; system applies feedback.
  5. Then the consultant decides: (a) resend to client (status → Review Client) or (b) skip the next client review and go straight to Content Ready.

07

Configure & publish to Meta

  1. From Content Ready, change status to Configurate Campaing.
  2. System generates the lead form filtervraag and the configuration URL.
  3. Consultant receives email + Slack notification.
  4. Open the URL in Url Review Meta Campaing. Review lead form, budget, country, targeting.
  5. Add notes in Consultant Notes - Meta Form if changes needed (system applies them).
  6. Click Publish. Campaign is created in Meta (paused).
  7. Flip status to Active after final review on Meta.

08

Edit a live campaign

  1. Update copies, visuals, lead form, budget, location, or name in Airtable / Visual Generator.
  2. Open the URL in Url Review Meta Campaing.
  3. Click Apply Changes to Meta.
  4. Status becomes Updating Live. System pushes only the diff to Meta.
  5. Always ends in Paused. Flip to Active when ready.

09

Regenerate a single visual manually

  1. Open https://needles-visual-editor.pages.dev/?campaign=<recordId>.
  2. The editor auto-loads the campaign data + existing visuals.
  3. Pick the visual to regenerate (1, 2, or 3).
  4. Adjust template, photos, USPs, colors. Both ratios preview live.
  5. Click Render & save. The new visuals are saved and Airtable updates automatically.
  6. If the campaign is live, push the change with Apply Changes to Meta in the Configuration App.

10

Read campaign performance

  1. Open the Ads Performance table.
  2. Filter by Meta Campaing ID (or use a per-campaign view).
  3. Daily rows are auto-populated at 06:00.
  4. For client reports: Impressions, Reach, CTR, Leads, Conversion Rate.
  5. For internal review: also Spend, CPM, CPC, Cost per Lead.

11

Handle an automation error

  1. Status moves to Error when any task fails.
  2. Read the error message in the campaign record (or check the automation log).
  3. Identify the cause — missing field, invalid input, expired token, etc.
  4. Fix the underlying data.
  5. Reset the status to the previous step. The automation re-runs.

Frequently asked

FAQ

Things people ask the most

Why does the table say "Campaing" instead of "Campaign"? Typo in the original Airtable schema. Renaming would break every automation — we leave it.

Why are campaigns always paused after publishing? Safety net. A consultant must verify the campaign on Meta before activating it.

The client said they didn't get the review email — what now? Open the campaign record, copy the URL from Client Review URL, and send it manually. The token stays valid until the next "Changes" cycle.

Can I edit a copy directly in Airtable? Yes, but only when status is Review Consultant or Content Ready. Editing during automation runs can cause race conditions.

Where do I edit the lead form filtervraag? Open the URL in Url Review Meta Campaing when status is Configurate Campaing. Or write feedback in Consultant Notes - Meta Form and the system will apply it automatically.

How do I push a small visual change to a live campaign? Edit the visual (Visual Generator), then open the URL in Url Review Meta Campaing and click Apply Changes to Meta.