kajabi_add_ tag_ to_ contactAdd tag to contact.
Look up what a contact bought, add or remove tags, grant or revoke offer access, and pull orders and form submissions without opening the Kajabi admin.
PopMCPKajabi
Every contact, offer, order, form, course and webhook operation in the connection, plus the events it can watch for.
kajabi_add_ tag_ to_ contactAdd tag to contact.
kajabi_contact_ detailsContact details.
kajabi_create_ contactCreate a contact.
kajabi_delete_ contactDelete contact
kajabi_grant_ offer_ to_ contactGrant offer to contact.
kajabi_list_ contactsList contacts.
kajabi_list_ contacts_ offersList contact's offers.
kajabi_list_ contacts_ tagsList contact's tags.
kajabi_remove_ tag_ from_ contactRemove tag from contact.
kajabi_revoke_ offer_ from_ contactRevoke offer from contact.
kajabi_update_ contactUpdate contact.
kajabi_create_ hookCreate hook.
kajabi_delete_ hookDelete hook.
kajabi_list_ hooksList hooks.
kajabi_customer_ detailsCustomer details.
kajabi_grant_ offer_ to_ customerGrant offer to customer.
kajabi_list_ customersList customers.
kajabi_list_ customers_ offersList customer's offers.
kajabi_cancel_ subscriptionCancel subscription.
kajabi_contact_ note_ detailsContact note details.
kajabi_create_ contact_ noteCreate contact note.
kajabi_form_ detailsForm details.
kajabi_list_ contact_ notesList contact notes.
kajabi_list_ form_ submissionsList form submissions.
kajabi_list_ formsList forms.
kajabi_list_ purchasesList purchases.
kajabi_purchase_ detailsPurchase details.
kajabi_submit_ formSubmit form.
kajabi_list_ order_ itemsList order items.
kajabi_list_ ordersList orders.
kajabi_list_ sitesList sites.
kajabi_order_ detailsOrder details.
kajabi_site_ detailsSite details.
kajabi_list_ offersList offers.
kajabi_offer_ detailsOffer details.
kajabi_course_ detailsCourse details.
kajabi_list_ contact_ tagsList contact tags.
kajabi_list_ coursesList courses.
kajabi_list_ custom_ fieldsList custom fields.
kajabi_list_ productsList products.
kajabi_list_ transactionsList transactions.
kajabi_product_ detailsProduct details.
kajabi_transaction_ detailsTransaction details.
kajabi_get_ meMy user profile.
kajabi_replace_ offers_ for_ contactReplace offers for contact.
kajabi_replace_ tags_ for_ contactReplace tags for contact.
kajabi_form_ submission_ sampleForm submission sample.
kajabi_hook_ detailsHook details.
kajabi_order_ created_ sampleOrder created sample.
kajabi_payment_ succeeded_ samplePayment succeeded sample.
kajabi_purchase_ samplePurchase sample.
kajabi_tag_ added_ sampleTag added sample.
kajabi_tag_ removed_ sampleTag removed sample.
kajabi_replace_ offers_ for_ customerReplace offers for customer.
kajabi_revoke_ offer_ from_ customerRevoke offer from customer.
kajabi_deactivate_ purchaseDeactivate purchase.
kajabi_delete_ contact_ noteDelete contact note.
kajabi_form_ submission_ detailsForm submission details.
kajabi_reactivate_ purchaseReactivate purchase.
kajabi_update_ contact_ noteUpdate contact note.
kajabi_list_ website_ pagesList website pages.
kajabi_order_ item_ detailsOrder item details.
kajabi_website_ page_ detailsWebsite page details.
kajabi_list_ offers_ productsList offer's products.
kajabi_blog_ post_ detailsBlog post details.
kajabi_contact_ tag_ detailsContact tag details.
kajabi_custom_ field_ detailsCustom field details.
kajabi_get_ payout_ detailsGet payout details.
kajabi_landing_ page_ detailsLanding page details.
kajabi_list_ blog_ postsList blog posts.
kajabi_list_ landing_ pagesList landing pages.
kajabi_list_ payoutsList payouts.
kajabi_list_ podcastsList podcasts.
kajabi_show_ podcastShow podcast.
kajabi_versionVersion.
Credentials off one Kajabi screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
In Kajabi open Settings → Public API, click Create User API Key, choose the user and permissions, then paste the Client ID and Client Secret. The legacy Account Details pair is rejected. One key, one account.
Your Kajabi Public API Client ID••••••••••••3f7aRead-only limits it to lookups and reports. On full access, turn on approval for writes so revoking an offer, canceling a subscription or deleting a contact waits for your yes. The full-catalog toggle exposes the rest.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Kajabi 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 offers does jen@example.com have, and what has she paid for
kajabi_list_contactsok
Then just ask for the work
“Which offers does jen@example.com have, and what has she paid for”
“Tag everyone who submitted the waitlist form last week as warm-lead”
“Add Priya as a contact, log the demo call, and grant her the Pro Coaching offer”
“Show last month's orders for the Launch Bundle offer and who bought each one”
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 Kajabi behind an AI client.
You need a Public API Client ID and Client Secret. In Kajabi go to Settings → Public API, click Create User API Key, name it something like "MCP", pick the user and permissions, and copy both values into the connect form. The API Key and Secret under Settings → Account Details → API Credentials are Kajabi's legacy Zapier credentials and will be rejected here.
No. There is no redirect, consent screen, or re-authentication step. PopMCP exchanges the Client ID and Secret for a short-lived access token server-side over HTTPS using the OAuth2 Client Credentials flow. Because the key belongs to one Kajabi account, the MCP server is locked to that account.
A contact is anyone on your list; they become a customer when they make their first purchase. That split runs through the tool set, so people-level lookups use list_contacts and contact_details while buyer-level lookups use list_customers and customer_details. Offer access can be read either way, through list_contacts_offers or list_customers_offers.
No. Courses, products and sites are read-only here through list_courses, course_details, list_products, list_sites and site_details. The writes stay on people and commerce: creating, updating and deleting contacts, adding and removing tags, writing contact notes, granting and revoking offers, submitting forms, canceling subscriptions, and managing webhooks.
Set the connection to read-only if you only want reporting, which leaves write tools like revoke_offer_from_contact, cancel_subscription and delete_contact unavailable. If you need writes, keep full access but turn on approval-required-for-writes so each of those calls is shown to you before it runs. Reads such as list_purchases and order_details keep working either way.
Webhook-backed events fire on a purchase, a form submission, a tag added to or removed from a contact, a successful payment including subscription renewals, and a new order. Polled events cover a contact being created, a contact becoming a customer, an unsubscribe, a bounced email, a transaction such as a charge, refund or dispute, and a Kajabi Payments payout. The rest work by change detection, such as a purchase being deactivated so a member loses access to an offer, and that access returning when it is reactivated.
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 75 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 44-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 75 here. A trigger is something PopMCP watches for you: 20 Kajabi 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 Kajabi.
Launch a hosted MCP endpoint for Kajabi, keep tool access under control, and start testing real workflow prompts right away.