IntegrationsChatGPT App

ChatGPT App

Ask ChatGPT about your identified website visitors. The Bullseye plugin for ChatGPT gives ChatGPT read-only access to one Bullseye organization, so you can ask things like:

  • “Show me ICP-matched visitors this week and explain who deserves a follow-up.”
  • “What did Jordan Holloway look at on our site?”
  • “Which companies visited this week? Split them by ICP fit.”
  • “How is identified traffic trending versus last month?”

ChatGPT only sees data when you ask a question that needs it, and only for the organization you connected.

Info: Looking to build ad audiences in ChatGPT instead? See ChatGPT Ads.

Eligibility

PlanCan connect?
Active paid planYes
Free trialNo (available once the trial converts to paid)
Past due or canceledNo
AppSumoYes, with the API Access add-on
Managed partner organizationsYes, on paid tiers

Any member of an eligible organization can connect. If your organization becomes ineligible later (for example, the subscription lapses), existing connections stay listed but every request returns an explanation instead of data until the plan is active again.

Connect

  1. In ChatGPT, open Plugins and search for Bullseye, then click Connect.
  2. You’re sent to app.bullseye.so. Sign in if prompted.
  3. Pick the organization ChatGPT should read. Ineligible organizations are shown but disabled, with the reason.
  4. Review the access summary and click Allow.

You’re returned to ChatGPT and can start asking questions. To connect a different organization, disconnect and connect again; each connection is bound to exactly one organization.

What ChatGPT can do

All tools are read-only. The app can’t send email, edit lists, change settings, buy data or delete anything.

ToolWhat it returns
search_visitorsIdentified visitors for a date range, filterable by name, ICP, persona, domain, page viewed or company. Sortable by last visit, visits or ICP score.
get_visitorOne visitor’s profile, company and recorded sessions with pageviews, landing page, referrer and UTM parameters
search_companiesCompanies whose employees visited, with ICP fit, visit counts, top pages and a preview of their visitors
get_company_visitorsA company’s details and its identified visitors
get_traffic_summaryIdentified visitors, companies, visits, sessions and unidentified visitors, compared with the previous period, overall and per domain
get_visitor_trendDaily identified and unidentified visitor counts per domain
list_saved_listsYour saved lists with sizes and sync status (not list members)
list_icp_configsYour ICP definitions and rules

Data returned

For visitors: name, job title, work email, LinkedIn URL, location, company (name, industry, employee count, website), ICP and persona match, visit and session counts, and pages viewed.

Never returned: personal (non-work) email, phone numbers, IP addresses, user agents, or demographic, income or home-address data.

Limits

TopicDetail
Default date rangeLast 7 days
Maximum date range366 days per request
Page size25 by default, up to 100. ChatGPT fetches more pages when you ask for everything.
Rate limit120 requests per minute per connection
CoverageUS website traffic only, same as the Bullseye dashboard

Website activity is evidence of interest, not proof of buying intent. The app tells ChatGPT this so its recommendations stay grounded in what visitors actually did.

Disconnect

You can disconnect from either side:

  • In Bullseye: go to API Keys → Connected apps and click Disconnect next to the connection. Access is revoked immediately. You can disconnect your own connections; organization owners can disconnect anyone’s.
  • In ChatGPT: open Settings → Plugins, select Bullseye and disconnect.

Bullseye also revokes a connection automatically when:

  • The user who connected leaves the organization
  • A stolen or replayed refresh token is detected
  • The same user reconnects the same organization (the old connection is replaced)

Security

  • Sign-in uses OAuth 2.1 with PKCE. ChatGPT never sees your Bullseye password or API keys.
  • Access tokens expire after 1 hour and refresh tokens after 30 days of inactivity; refresh tokens are rotated on every use.
  • Bullseye stores only one-way hashes of tokens, never the tokens themselves.
  • The organization is fixed by the token. ChatGPT can’t ask for another organization’s data, even one you belong to.
  • Every request re-checks your organization membership and plan.

See Data & Privacy for how Bullseye handles visitor data.

Troubleshooting

It isn’t on an eligible plan. The consent page shows the reason. Trials become eligible when they convert to paid; AppSumo organizations need the API Access add-on.

ChatGPT says “Not connected to Bullseye”

The connection was revoked or expired. Reconnect from ChatGPT’s plugin settings.

Results look empty

Check the date range (it defaults to the last 7 days) and confirm the tracking pixel is installed on the domain you’re asking about. See Verify Installation.

For developers

The plugin is a remote MCP server using Streamable HTTP:

ItemValue
MCP endpointhttps://api.app.bullseye.so/mcp
Protected resource metadatahttps://api.app.bullseye.so/.well-known/oauth-protected-resource
Authorization server metadatahttps://api.app.bullseye.so/.well-known/oauth-authorization-server
Client registrationDynamic (RFC 7591), public clients, none token auth
Scopebullseye:read

Partners can list and revoke connections for their managed organizations through the Partner API.