Tutorial · October 14, 2026

How to Automate AI Citation Tracking with Zapier

One Zap, nine steps, about three tasks per prompt. It asks the AI engines your buyer questions each Monday, writes down who they recommend, and messages you in Slack the week your brand falls off the list.

TL;DR
You will build a Zap that tracks your AI citations on a weekly schedule. Schedule by Zapier starts it, Google Sheets and Looping by Zapier feed in your buyer prompts one at a time, Webhooks by Zapier asks ChatGPT, Claude, Gemini, and Perplexity, a Code step scores the answer, and Sheets, Storage, and Slack log it and flag drops. It needs the Professional plan and uses about 31 tasks per run for ten prompts.

900 million people a week ask ChatGPT things, and some of them are asking which product to buy in your category.

That number comes from OpenAI's February 2026 announcement, reported by TechCrunch. You cannot read those conversations, but you can ask the same questions on a schedule and write down the answers.

To automate AI citation tracking with Zapier, build a weekly Zap that loops over your buyer prompts from Google Sheets, sends each one to the AI engines with Webhooks by Zapier, and scores whether your brand was mentioned and cited. Storage by Zapier remembers last week's result, so Slack only pings you on a drop. It costs about three tasks per prompt.

How to automate AI citation tracking with Zapier: a weekly Zap of Schedule, Google Sheets, Looping, Webhooks, Code, Storage, and Slack steps that checks whether ChatGPT, Claude, Gemini, and Perplexity mention your brand.

This is the Zapier edition of a tracker I have now built three ways. The Make version and the n8n version do the same job, but Zapier has its own billing rules and two traps worth knowing before you build.

Can Zapier track whether AI engines mention your brand?

Zapier can track AI brand mentions, but only if you build the tracker yourself, because it has no native app that reads ChatGPT or Perplexity answers. Its brand monitoring templates watch news and social feeds. What Zapier does give you is every piece you need: a scheduler, a loop, a webhook, a code step, a key-value store, and connectors for Google Sheets and Slack.

Here is the finished Zap, step by step:

StepWhat it doesUses tasks?
Schedule by Zapier: Every WeekStarts the runNo (trigger)
Google Sheets: Lookup Spreadsheet Rows (Advanced)Pulls active prompts as line itemsYes, once per run
Looping by Zapier: Create Loop From Line ItemsRepeats the next steps per promptNo
Webhooks by Zapier: POSTAsks the AI enginesYes, per prompt
Code by Zapier: Run JavaScriptCounts engines, checks citationsYes, per prompt
Google Sheets: Create Spreadsheet RowLogs a dated resultYes, per prompt
Storage by Zapier: Get Value, Set ValueRemembers last week's countNo
Filter by ZapierStops unless the count droppedNo
Slack: Send Channel MessageReports the dropOnly when it fires
The Zap as a vertical list of steps: Schedule by Zapier, Lookup Spreadsheet Rows, Looping by Zapier, then inside the loop Webhooks POST, Code by Zapier, Create Spreadsheet Row, Storage Get Value and Set Value, Filter, and Slack. Free steps are marked separately from the steps that use tasks.
Nine steps, and only three of them bill a task for every prompt.

What you need before you build the Zap

You need a Zapier Professional plan, a Google Sheet, a Slack channel, and a key for the AI data you want to check. Professional matters because the Free plan only allows two-step Zaps and does not include Webhooks by Zapier, and this Zap has nine steps and a webhook. Professional starts at $19.99 a month billed annually for 750 tasks.

Those plan limits come straight from Zapier's pricing page. Monthly billing on the same tier is $29.99.

Then line up the rest:

  • A Google Sheet with a Prompts tab (columns ID, Prompt, Active) and a Log tab.
  • A Slack channel for alerts, connected to Zapier.
  • An AI data source: your own OpenAI or Perplexity keys, or one API key for a visibility API that checks several engines in a single request.
  • A Storage by Zapier secret, which is just a UUID you generate once.
  • Your brand name, its common misspellings, and your domain.

The ID column looks fussy. It is there for a reason you will hit in Step 5, so add it now.

Step 1: Trigger the Zap with Schedule by Zapier

Start the Zap with Schedule by Zapier and choose Every Week, then set the Day of the Week and the Time of Day. A weekly run is the right default for AI answers, because they drift over days, and a single run is noisy anyway. Daily is available if you are watching a launch, but it multiplies your task bill by about seven.

Zapier's scheduling help article covers the monthly, weekly, daily, and hourly options. The trigger itself never uses a task.

Pick Monday morning. Then the alert lands in Slack at the start of the week, while you can still do something about it.

Step 2: Pull your prompts and loop over them

Add Google Sheets Lookup Spreadsheet Rows (Advanced), search the Active column for TRUE, and it returns every matching row as line items. Then add Looping by Zapier with Create Loop From Line Items, mapping the ID and Prompt columns. Every step after the loop now runs once per prompt, and the Looping step itself costs no tasks.

The lookup returns up to 500 rows, and a loop can run up to 500 times, per Zapier's Looping documentation. You will not get near that with a sensible prompt list.

The same page has the first trap. Loop iterations run in parallel, all at once, not one after another.

Ten prompts means ten requests leaving Zapier at the same moment. If your API has a per-minute rate limit, some of them will bounce.

Keep the first prompt list under ten, and check your API's rate limit before you grow it. If requests start failing, add a Delay by Zapier step before the webhook to space them out. Delay steps cost no tasks.

A Zap can only have one Looping step, and loops cannot be nested. That is fine here, since everything happens inside the single prompt loop.

Step 3: Ask the AI engines with Webhooks by Zapier

Add Webhooks by Zapier and choose POST. Set the Payload Type to json, enter the API URL, add your prompt and brand in the Data fields, and put your key in an Authorization header. Zapier sends one request per prompt and exposes the response fields to the next step. Webhooks is a premium feature, which is the main reason this Zap needs a paid plan.

POST is easier than Custom Request for this. Zapier builds the JSON from your Data fields, so you never write brackets by hand, as its webhooks guide explains.

The Webhooks by Zapier POST step for the tracker: URL https://api.mentionsapi.com/v1/check, Payload Type json, Data fields mode quick, query mapped from the loop's Prompt value, and brand, plus an Authorization header with a Bearer API key.
Four Data fields and one header. Zapier writes the JSON for you.

With a visibility API that covers all four engines, the step looks like this:

URL:           https://api.mentionsapi.com/v1/check
Payload Type:  json
Data:          mode   -> quick
               query  -> (Prompt from the loop)
               brand  -> YourBrand
Headers:       Authorization -> Bearer lvk_live_...

You can also skip the webhook for one engine. Zapier has native ChatGPT and Perplexity apps, and the tradeoff looks like this:

ApproachTasks per promptCatch
Native ChatGPT or Perplexity appOne per engineCitation fields vary, and four engines means four steps
Webhook to each engine APIOne per engineSeparate keys and response shapes to parse
One webhook to a visibility APIOne for all enginesA per-check fee, but fields arrive normalized

On Zapier the per-engine approach hurts more than it looks, because every extra engine step runs inside the loop. Four engines and ten prompts is forty tasks before you log a single row.

Step 4: Score the answer with Code by Zapier

Add a Code by Zapier step running JavaScript, map each engine's mentioned flag and citation URLs into its Input Data, and let a dozen lines turn the raw response into clean fields. The code counts how many engines named your brand and checks whether your domain appears in each citation list. Those outputs feed the log, the Storage comparison, and the Slack message.

Zapier passes Input Data in as text, so the code compares against the string true. Name the inputs chatgpt_mentioned, chatgpt_citations, and so on for each engine, then paste this:

const domain = 'yourbrand.com';
const engines = ['chatgpt', 'claude', 'gemini', 'perplexity'];
const out = { engines_naming_you: 0 };

for (const e of engines) {
  const mentioned = String(inputData[e + '_mentioned']) === 'true';
  const cited = (inputData[e + '_citations'] || '').includes(domain);
  if (mentioned) out.engines_naming_you += 1;
  out[e + '_mentioned'] = mentioned;
  out[e + '_cited'] = cited;
}

return out;
Code by Zapier turning the webhook response into clean fields: input data for each engine's mentioned flag and citation URLs goes in, and out come a count of engines naming the brand plus a mentioned and cited flag per engine.
Raw response in, five clean fields out.

Keep mentioned and cited as separate fields. A mention means the engine said your name, while a citation means it linked your site as a source, and only the second one can send a visitor.

Those visitors are starting to matter. Traffic to US retail sites from generative AI tools rose 693.4% year over year across the 2025 holiday season, according to Adobe Analytics, even though Adobe notes the base is still modest.

900Mweekly ChatGPT users, February 2026 (OpenAI via TechCrunch)
693.4%YoY rise in AI-tool traffic to US retail, 2025 holidays (Adobe)
~3Zapier tasks per prompt for this Zap, with free utility steps

Step 5: Log the row and alert only on a drop

Add Google Sheets Create Spreadsheet Row to log the date, prompt, and Code outputs. Then add Storage by Zapier Get Value keyed by the prompt ID, Set Value to save this week's engine count under the same key, a Filter that continues only when the new count is lower than the stored one, and a Slack channel message. Storage and Filter cost no tasks.

Here is the second trap. Storage keys max out at 32 characters, according to Zapier's Storage documentation, and most real buyer prompts are longer than that.

So key everything on the short ID column, like p01 or p02. The same page says unused keys are deleted after two months, which a weekly Zap never hits.

Alert-on-drop logic in Zapier: Storage Get Value returns last week's count of three engines for key p01, Set Value saves this week's count of one, and the Filter passes because one is lower than three, so Slack posts the drop. When the count holds or rises, the Filter stops the run and no message is sent.
Read last week, save this week, then let the Filter decide.

Order matters here. Put Set Value before the Filter, or a week with no drop would stop the Zap before it saves, and next week would compare against stale data.

Set the Filter to Only continue if the Code step's engines_naming_you (Number) Less than the value from Get Value. If Get Value finds nothing on the first run, the Filter stops, which is what you want.

Slack should only hear about changes. A standing weekly ping teaches people to skim past it, and then nobody reads the one that mattered.The rule for the Slack channel

How many Zapier tasks does AI citation tracking use?

AI citation tracking in Zapier uses about three tasks per prompt per run, plus one for the spreadsheet lookup. Zapier bills each successful action step once, and the Schedule trigger, Looping, Storage, Filter, and Delay steps are all free. So ten prompts cost about 31 tasks a run, roughly 133 a month on a weekly schedule, well inside the 750-task Professional tier.

The free-step list comes from Zapier's task usage article, which also excludes Formatter, Tables, and steps that never run because a Filter stopped them.

Zapier task math for ten prompts: three billable steps per prompt plus one lookup is about 31 tasks per run, about 133 tasks a month on a weekly schedule, which fits the 750-task Professional tier, and about 930 a month on a daily schedule, which needs a bigger tier.
Weekly fits the entry Professional tier with room to spare. Daily does not.
PromptsTasks per runWeekly, per monthDaily, per month
5about 16about 69about 480
10about 31about 133about 930
25about 76about 327about 2,280

Want to trim it further? If you only care about the mention count, a Formatter step can replace the Code step at no task cost, which drops you to two tasks per prompt.

Zapier tasks are one bill, and the API you call is the other. On MentionsAPI, a fresh quick check across all four engines is 150 credits, and repeating a recently asked query costs 5.

One webhook, four engines, one task
MentionsAPI checks whether ChatGPT, Claude, Gemini, and Perplexity mention, rank, and cite your brand for any prompt, and returns flat fields your Zap can map straight into Sheets. 300 free credits, no card.

Zapier, Make, or n8n for AI citation tracking?

Choose Zapier for AI citation tracking when your team already lives in it and values setup speed over cost per step. Make bills per module action and handles branching visually, which suits ops teams on a budget. n8n bills per execution and can be self-hosted, which suits developers. All three run the same weekly tracker, so pick the one your team will actually maintain.

QuestionZapierMaken8n
Billing unitTask per action stepCredit per module actionExecution per run
Free plan fits?No (two steps, no webhooks)Yes, weeklyYes, self-hosted
Loop over promptsLooping by ZapierSearch Rows bundlesItems fan out
Remember last runStorage by ZapierData storeSheet lookup or database

I would not switch tools just for this Zap. The tracker is small, and the cost of learning a second automation platform is bigger than any task savings.

How to read the log without chasing noise

Read the Log tab as a weekly rate instead of a pile of individual answers. Work out how often each engine named you across your prompts, week by week, and watch that number move. Single answers are close to random: a SparkToro and Gumshoe study found less than a 1-in-100 chance that an AI tool returns the same brand list twice for the same prompt.

That study ran 2,961 prompts through ChatGPT, Claude, and Google's AI, as Search Engine Journal reported. The lists kept changing, but how often each brand appeared held much steadier.

So chart the rate, ignore a single bad week, and act when the line bends for three or four weeks in a row.

When a prompt keeps losing, go fix the page that should win it. The Princeton GEO study found that adding statistics and cited sources raised visibility in AI answers by 30% to 40%. Our guides on share of model and prompt monitoring cover the next layer of analysis.

Mistakes that break a Zapier AI tracker

Most broken Zaps here fail on Zapier-specific details rather than on the AI part. They run without errors, the Sheet fills, and the numbers are quietly wrong or the alert never fires. These are the ones to check first, roughly in the order people hit them.

  1. Using the full prompt as the Storage key, which breaks past 32 characters.
  2. Placing Set Value after the Filter, so quiet weeks never save a new baseline.
  3. Growing the prompt list past your API rate limit while loop iterations fire in parallel.
  4. Calling four engines with four steps inside the loop, which quadruples the task bill.
  5. Writing prompts with your brand in them, which inflates the mention rate.
  6. Comparing the mentioned field to a boolean in Code when Zapier passed it in as text.
  7. Running daily on a 750-task tier and hitting overage in the third week.

Frequently asked questions

Can Zapier track whether ChatGPT mentions my brand?
Not out of the box, but you can build it in one Zap. Schedule by Zapier starts a weekly run, Google Sheets supplies your buyer prompts, Looping by Zapier repeats the next steps per prompt, and Webhooks by Zapier sends each prompt to an AI engine or visibility API. A Code step scores the answer, and Sheets and Slack record and report it.
Can I build an AI citation tracker on the Zapier free plan?
No. The Free plan allows only two-step Zaps and does not include Webhooks by Zapier, and this tracker needs about nine steps plus a webhook. You need the Professional plan, which starts at $19.99 a month billed annually for 750 tasks. A weekly run of ten prompts uses roughly 133 tasks a month, so the entry tier covers it.
How many Zapier tasks does an AI citation tracking Zap use?
About three tasks per prompt per run, plus one per run for the spreadsheet lookup. Zapier only bills successful action steps, and Schedule, Looping, Storage, Filter, and Formatter steps are free. The Webhook, Code, and Create Spreadsheet Row steps are the three that count. Ten prompts cost about 31 tasks a run, and a Slack alert adds one only when it fires.
How do I stop Zapier from sending the same Slack alert every week?
Remember the last result with Storage by Zapier. Use Get Value with a short prompt ID as the key, then Set Value to save this run's engine count, then a Filter that only continues when the new count is lower than the stored one. Slack sits after the Filter, so you hear about a drop once instead of every week it persists.
How do I loop through Google Sheets rows in Zapier?
Use Lookup Spreadsheet Rows (Advanced) to pull up to 500 matching rows as line items, then add Looping by Zapier with Create Loop From Line Items. Every step after the loop runs once per row. Looping itself costs no tasks, but each action inside the loop does, and the iterations run in parallel rather than one after another.
Should I use Zapier, Make, or n8n to track AI citations?
Use Zapier if your team already runs on it and wants the fastest setup with the widest app catalog. Make is cheaper per step and more visual for branching logic. n8n suits developers who want to self-host or write code. All three can run the same weekly tracker; the real difference is how each one bills a run that loops over ten prompts.

Turn the Zap on, then leave it alone for a month

To automate AI citation tracking with Zapier this week: build the nine steps with five prompts, test each step with real data, publish the Zap, and set it to run Monday mornings. Do not touch it for four weeks. A month of rows gives you a baseline, and every alert after that means something.

Then expand where the Log shows gaps. If you want to keep the loop at one billable webhook however many engines you add, point it at an AI-visibility API like MentionsAPI.

Nikhil Kumar
Founder, MentionsAPI

Growth marketer at the intersection of marketing, product, and technology. 8+ years across startups and scale-ups in India, Switzerland, and the Netherlands. Founder of Landkit (landkit.pro).

Four engines inside one Zapier webhook.

Check whether ChatGPT, Claude, Gemini, and Perplexity mention and cite your brand for any prompt, from a single Webhooks by Zapier step. 300 free credits, no card.