Package Information
Documentation
n8n-nodes-citedspy
This is an n8n community node. It lets you use CitedSpy in
your n8n workflows.
CitedSpy tracks how AI engines answer questions about your market. It runs your
prompts on ChatGPT, Perplexity, Gemini, Copilot and Google AI Mode, then measures
whether your brand was mentioned, how it was described, and which pages the
engines cited. This is Generative Engine Optimization (GEO): the search-visibility
work that happens inside AI answers rather than on a results page.
n8n is a fair-code licensed
workflow automation platform.
Installation
Operations
Credentials
Compatibility
Usage
Resources
Installation
Follow the
installation guide
in the n8n community nodes documentation.
In short: Settings > Community Nodes > Install, then entern8n-nodes-citedspy.
Operations
The package ships two nodes.
CitedSpy
| Resource | Operations |
|---|---|
| Brand | Get, Get Many |
| Prompt | Create, Delete, Get, Get Many, Get Report, Update |
| Run | Get, Get Many, Trigger |
| Mention | Get Many |
| Citation | Get Many |
| Competitor | Get Many |
| Dashboard | Get |
| Recommendation | Get Many |
| Engine | Get Many |
Get Report is the one worth knowing about. It returns the full analytics for
a prompt in one call: mention rate, share of voice, average position, sentiment,
a per-engine breakdown, the citations behind it, and a trend line.
CitedSpy Trigger
Starts a workflow the moment CitedSpy pushes an event.
| Event | Fires when |
|---|---|
| Alert Triggered | An alert you configured starts breaching: sentiment went negative, mentions dropped, a competitor overtook you, or a new citation source appeared |
| Recommendation Created | CitedSpy generates a new GEO recommendation for one of your brands |
Both events can be narrowed to a single brand.
Credentials
You need a CitedSpy account and a workspace API key.
- Sign in at app.citedspy.com.
- Go to Settings > API keys and create a key. It looks like
cspy_.... - In n8n, create a CitedSpy API credential and paste the key.
API keys are included from the Growth plan up. On a plan without them the
node returns a clear message rather than a generic HTTP error.
Compatibility
Tested against n8n 1.x. Requires Node.js 20.15 or later.
Usage
Post every new AI answer to Slack
Schedule Trigger (every 15 minutes) -> CitedSpy (Run > Get Many, Statuscompleted, Since {{ $now.minus(15, 'minutes') }}) -> Slack.
Since is exclusive, so a run is never delivered twice. Runs, mentions,
citations and recommendations all support it.
Since filters the records the request fetched rather than asking the API to
filter them. With Return All on that is every page, so it is exact. With a
fixed Limit it is that page. For a schedule that runs at a normal interval
this makes no difference; for catching up on a one-off burst of hundreds of
records, turn Return All on.
Open a ticket when an alert fires
CitedSpy Trigger (Alert Triggered) -> Jira / Linear / Notion.
The trigger registers a webhook with CitedSpy when you activate the workflow and
removes it when you deactivate it. Nothing to configure on the CitedSpy side.
Refresh a prompt on demand and wait for the answer
CitedSpy (Run > Trigger) -> Wait -> CitedSpy (Run > Get).
Triggering returns as soon as the work is queued. A real answer takes between 15
and 120 seconds depending on the engine, because CitedSpy reads the actual
product UI rather than calling a provider API.
Note on local development
CitedSpy only delivers webhooks over HTTPS. A local n8n hands outhttp://localhost:5678/webhook/..., which it will refuse. Start n8n with its
tunnel (n8n start --tunnel) when testing the trigger node locally. n8n Cloud
and any instance behind TLS are unaffected.