attentive_bulk_ segment_ membersAdd members (users) to an API-managed segment in bulk, addressed by the segment's externalId.
Opt customers in or out, build API-managed segments, fire browse and purchase events that trigger journeys, and check what any subscriber is eligible to receive.
PopMCPAttentive
Every subscription, segment, event, catalog and webhook operation your agent can call, plus the triggers it can listen for.
attentive_bulk_ segment_ membersAdd members (users) to an API-managed segment in bulk, addressed by the segment's externalId.
attentive_create_ segmentCreate an API-managed segment (audience) you can later add members to.
attentive_list_ segmentsList API-managed segments, filterable by name or externalId and by last-updated time.
attentive_create_ webhookSubscribe to a webhook: Attentive will POST the listed events to your URL.
attentive_list_ webhooksList the webhook subscriptions configured on the account.
attentive_add_ to_ cart_ eventRecord that an user added a product to their cart (an eCommerce event used to power cart-abandonment journeys).
attentive_create_ or_ update_ userCreate or update ONE user in a single call — attributes, subscriptions, and identifiers together (the unified V2 user endpoint).
attentive_get_ subscription_ statusGet an user's subscription eligibility — every subscription type and channel they are (or aren't) eligible for.
attentive_product_ view_ eventRecord that an user viewed a product (an eCommerce event used to power browse-abandonment journeys).
attentive_purchase_ eventRecord that an user completed a purchase/order (an eCommerce event used for post-purchase journeys and to suppress abandonment flows).
attentive_subscribe_ userOpt an user in to an SMS and/or email subscription.
attentive_unsubscribe_ userUnsubscribe an user.
attentive_get_ custom_ attributesRetrieve all custom attributes associated with an user, queried by phone OR email.
attentive_get_ meTest Authentication: verify the connected API key and return the Attentive account it belongs to.
attentive_post_ custom_ attributesSet or update custom attribute (property) data on an user — e.g.
attentive_identify_ userIdentity resolution: associate a clientUserId or custom identifier(s) with an user, so those external ids can later be used in place of phone/email across the other APIs.
attentive_post_ custom_ eventIngest a custom event representing an user action — this is the primary way to trigger Attentive journeys from your own events.
attentive_delete_ segmentDelete an API-managed segment by externalId.
attentive_get_ segmentRetrieve a single API-managed segment by the externalId you assigned it at creation.
attentive_update_ segmentUpdate an API-managed segment's name and/or description, addressed by externalId.
attentive_delete_ webhookRemove a webhook subscription.
attentive_update_ webhookUpdate a webhook — change its destination url, its subscribed events, or disable it.
attentive_bulk_ user_ attributesBulk create/update up to 256 users in one async request.
attentive_get_ bulk_ jobRetrieve the status of a bulk ingestion job.
attentive_get_ catalog_ uploadLook up a single catalog upload's ingestion status by uploadId.
attentive_list_ catalog_ uploadsList recent product-catalog uploads with their statuses (in creation order), including errors, products received/processed, and each upload's expiry.
attentive_upload_ product_ catalogStart a product-catalog upload.
attentive_create_ delete_ requestCreate a privacy (CCPA) deletion request for a subscriber.
attentive_get_ delete_ requestGet a CCPA deletion request by id.
attentive_get_ me_ v2Test Authentication (V2).
attentive_add_ couponsAdd discount codes to an existing offer (coupon pool).
Credentials off one Attentive screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
Create a custom app in Attentive and paste the key it shows into the API Key field. No OAuth popup, redirect URL or token refresh. The key is scoped to one Attentive company, so the connection is locked to it.
••••••••••••3f7aRead-only keeps the agent on reporting. Full access with approval-required writes means unsubscribes, segment deletes and CCPA deletion requests wait for a human. The full-catalog toggle exposes the rarer operations.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Attentive credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Which of our recent product catalog uploads failed and why
attentive_list_catalog_uploadsok
Then just ask for the work
“Which of our recent product catalog uploads failed and why”
“Bulk-update loyalty tier for these customers and tell me when the job finishes”
“Create a Black Friday VIP segment and add these 200 customers to it”
“For this phone number, what attributes do we store and what can we send them”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Attentive behind an AI client.
No OAuth. You create a custom app in Attentive, and it shows the API key on a single screen; you paste that value into the API Key field on the connect form. PopMCP sends it server-side over HTTPS as an Authorization: Bearer header, so there is no redirect URL to register and no token refresh to babysit.
Yes. An Attentive API key is scoped to a single company, so the MCP server is locked to whichever company issued the key you pasted. Anything outside that company is simply not reachable through the connection.
It can do both, and you decide which. Writes include subscribe_user and unsubscribe_user, create_or_update_user for a full record in one call, post_custom_attributes for property data, and identify_user to attach a clientUserId so external ids work in place of phone or email later. CCPA deletion requests are available too, which is exactly the kind of write worth putting behind approval or ruling out with read-only mode.
That is what post_custom_event is for — it ingests a custom event representing a user action and is the primary way to kick off a journey from your own data. For commerce specifically there are dedicated events: product_view_event for browse abandonment, add_to_cart_event for cart abandonment, and purchase_event for post-purchase flows. Recording a purchase also suppresses the abandonment flows, so order your calls accordingly.
bulk_user_attributes creates or updates up to 256 users per async request. Because it is asynchronous, the call returns a job rather than finished work — poll get_bulk_job to see whether the ingestion succeeded. For a single record, create_or_update_user handles attributes, subscriptions and identifiers together in one call.
The segment tools work on API-managed segments, and each one is addressed by the externalId you assign at creation, not by its name. get_segment, update_segment, delete_segment and bulk_segment_members all key off that id, so losing track of it is the usual stumbling block. Use list_segments first — it filters by name or externalId and by last-updated time — and let the agent resolve the id before it writes.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 31 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 17-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 31 here. A trigger is something PopMCP watches for you: 12 Attentive events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Attentive.
Launch a hosted MCP endpoint for Attentive, keep tool access under control, and start testing real workflow prompts right away.