Integrations
:::summarybox learn Why integrations exist: data in for context, actions out for delivery How to connect one (OAuth or API token, scoped per brand) What you unlock once connected: Workflows, Actions, Agent, Sites, Crawler tracking, Exports The full directory, organised by job Security, permissions, and what breaks when you disconnect
How to connect an integration
The flow is the same shape almost everywhere.
- Open Integrations from the sidebar, or hit the inline Connect button (every tab that needs a connection has one near the empty state).
- Pick the service. Most use OAuth: a one-click handoff to the provider's consent screen, then back to Trakkr. A handful (Cloudflare API token, Looker Studio personal API key, raw webhooks) need a credential you paste in.
- Pick the destination. Slack asks for a channel, Sheets asks for a spreadsheet, Linear asks for a team. This is where the "what gets used" decision lives, and you can change it later.
- Test it. Most cards have a Test connection button that sends a sample event so you can confirm the wiring before you depend on it.
Connections are scoped per brand, not per workspace. If you manage three brands, each gets its own Slack workspace pick, its own Linear team, its own Sheets file. That's deliberate, because your acme.com brand and your beta.com brand almost always belong in different channels.
The same provider can be connected more than once per brand. A common setup is one Slack channel for #brand-alerts on critical drops and a second channel for #content-team on lighter wins. Connect twice with different destinations; reference each by name in Workflows.
What integrations unlock
The connection itself is plumbing. The value is the features that depend on it.
| Feature | What it does | The integration it needs |
|---|---|---|
| Workflows | Triggers like visibility drops or new citations fire actions like a Slack post, a Linear issue, or a Sheets row | Whatever sink you want the action to land in |
| Actions | Every finding has a "Push to ..." button that files it as a ticket, message, or page | Linear, Jira, Slack, Notion, GitHub, Trello, Asana |
| Agent | The AI agent can create tickets and post messages on your behalf when you ask it to | The work-item provider you nominate |
| Sites | Trakkr publishes content fixes (titles, schema, paragraphs) straight to your CMS | WordPress; GitHub for static sites |
| AI Crawler Tracking | Every GPTBot, ClaudeBot, PerplexityBot hit attributed to a page, in near real time | Cloudflare, Vercel, Netlify, or your edge of choice |
| Live Visitors | Tells you how many ChatGPT, Perplexity, Gemini, or Claude referrals turned into pageviews and conversions | Google Analytics 4 |
| Exports | Live data into Sheets or Looker Studio, scheduled or on demand | Sheets, Looker Studio (Scale plan), CSV |
If a feature looks empty when you open it, the usual reason is the integration it depends on hasn't been connected yet. The empty state will tell you which.
The directory
Grouped by the job, not the provider. A service that does more than one job (WordPress, for example) is listed where it spends most of its time.
Inbound, bring data in
| Integration | What it gives Trakkr |
|---|---|
| Google Analytics 4 | Traffic and conversions attributed to ChatGPT, Perplexity, Gemini, and Claude referrals |
| Cloudflare | Server-side AI crawler hits via the Cloudflare Analytics API. Works on every Cloudflare plan |
| Vercel | Real-time crawler events via Log Drains. Vercel Pro or Enterprise |
| Netlify | Real-time crawler events via an Edge Function |
| WordPress | Crawler events from the Trakkr WordPress plugin, plus read access for fix publishing |
| Webflow | Crawler tracking via Cloudflare proxy. Also has a native content adapter (Sites connection) for SEO titles, CMS items, and schema markup |
| Shopify | Crawler tracking via Cloudflare proxy. Also has a native content adapter (Sites connection) for pages, blog articles, and SEO metafields |
| HubSpot, Squarespace, Wix, Framer, Ghost | Crawler tracking only, routed through Cloudflare. No native content adapter — Trakkr doesn't write content back to these CMSes yet |
| Next.js, Node/Express, Nginx, AWS CloudFront, Akamai, Fastly | Self-hosted webhooks that POST crawler hits from your own edge |
Outbound, push actions out
| Integration | What Trakkr can send to it |
|---|---|
| Slack | Workflow alerts, approval requests, action buttons, weekly digests |
| Microsoft Teams | Workflow alerts as Adaptive Cards |
| Discord | Workflow alerts to server channels |
| Linear | Open an issue from a finding, action, or workflow trigger |
| Jira | Same, into a Jira project of your choice |
| GitHub Issues | File a finding as an issue against a repo |
| Asana | Turn an action into a task in a project |
| Trello | Drop an action card on a board |
| Notion | Create a page in a database (content backlog, action log, etc.) |
| Google Sheets | Append rows on a schedule, or on every workflow event |
| Looker Studio | Live BI dashboards across 17 datasets. Scale plan; see Looker Studio |
| CSV Export | One-click downloads from any table, no setup |
| Webhooks | Send any event payload to any HTTPS endpoint with Bearer, Basic, or API Key auth |
| Zapier, Make | Use Trakkr as a source or sink in your existing automations |
| REST API | Build it yourself; see the API reference |
| MCP Server | Expose your Trakkr brand to Claude, Cursor, or any MCP-aware AI assistant |
Security and permissions
A few things worth knowing before you connect anything.
Tokens are encrypted at rest. OAuth refresh tokens, API keys, and webhook secrets sit in encrypted columns; the only time they're decrypted is at request time inside Trakkr's backend.
Brand-scoped access. A connection only works for the brand it was created on. Connecting Slack to Brand A doesn't give Brand B access to that Slack workspace, even inside the same Trakkr account.
Narrow scopes. We ask for the smallest permission set the integration needs. Linear asks for issue read/write, not admin. Google Sheets asks for drive.file, not full Drive. Slack asks for the channel and incoming-webhook permissions, nothing about user identity.
Disconnecting an integration breaks any Workflows, Actions, or scheduled exports that depend on it. The connection panel shows what's wired up before you confirm the disconnect. Re-authorising restores everything; the saved destination (channel, team, sheet) stays put.
Reauthorisation. OAuth tokens expire. When that happens the card shows a yellow Reconnect state, and the affected features pause cleanly instead of failing silently. One click restores them; nothing has to be rebuilt.
Audit trail. Every dispatch (Slack post, Linear issue, Sheets append) writes to the Actions audit log, with who triggered it, what payload was sent, and what the destination returned. Useful when something lands somewhere unexpected.
Common questions
Do I have to connect anything to use Trakkr?
No. The platform stands up without any integrations: prompts, scores, research, citations, competitors, and the dashboard all work in isolation. Integrations only unlock the features that need outside systems (Workflows, Sites publishing, AI Crawler Tracking, Live Visitors). Add them as you need them.
My tool isn't on the list. What do I do?
Three paths. Webhooks sends arbitrary JSON to any HTTPS endpoint, which covers most internal systems. Zapier or Make bridges Trakkr to thousands of apps without code. MCP Server exposes your Trakkr data to any AI assistant that speaks Model Context Protocol. Beyond that, the REST API is the build-it-yourself route.
Why do CMSes like Shopify and Wix route through Cloudflare?
Those platforms don't expose server-side request logs we can read directly. The workaround is to front the site with Cloudflare so AI crawler hits land in Cloudflare's analytics, which we can read. The CMS keeps serving the site, and nothing in the publishing workflow changes.
Can the same Slack workspace be connected to multiple brands?
Yes. Each brand has its own destination picker, so you can send Brand A alerts to #brand-a-monitoring and Brand B alerts to #brand-b-monitoring from one Slack install. The OAuth grant is per brand, but the underlying workspace can be shared.
What happens to data already sent if I disconnect?
It stays where it is. Past Slack messages, Linear issues, Sheets rows, cached Looker Studio data: all of it persists in the destination. Disconnecting only stops new dispatches.
Where do I see what an integration actually sent?
Each integration card has a View Logs action that shows recent dispatches with timestamp, status code, payload, and response. Workflow runs have their own per-run log under Workflows. The Actions audit dashboard collates everything across brands.
visibility|Workflows|Triggers and actions chained together. Where most outbound integrations earn their keep.|/learn/docs/features/workflows
ai|Sites|Publish content fixes straight to your CMS. The biggest payoff from connecting WordPress or a static-site repo.|/learn/docs/features/sites
competitors|Looker Studio|Build reusable BI dashboards with live Trakkr data across 17 datasets.|/learn/docs/features/integrations/looker-studio