Keap integration | Zervanor
← All connectors

Keap

Also an agent tool
sales-crm

Keap (formerly Infusionsoft) CRM and marketing automation REST API (v1, with select v2 endpoints): manage contacts (CRUD, list, tag apply/remove, credit cards, model), companies, opportunities and the sales pipeline (stages), e-commerce (orders, transactions, subscriptions, products), tags and tag categories, campaigns (sequence add/remove), email (send, opt-in/opt-out, list/create), notes, tasks, appointments, users, affiliates (commissions, programs, redirects, summaries), files, merchants, REST Hooks, account profile, and locales/settings. OAuth2 authorization-code bearer auth. Change detection for updated contacts uses polling (contacts list supports since_updated_since / order=last_updated); Keap REST Hooks require a verification handshake and are not signed by a Zervanor-registered handler, so webhooks are not exposed as a verified trigger — hook CRUD is still available as actions.

98 actions · 6 triggers

The Keap integration lets you connect Keap to your automations with 98 actions and 6 triggers — and every action is also a tool an AI agent can call. Examples: Get Account Profile, Update Account Profile, List Contacts, Create Contact, Get Contact. No blank-canvas wiring — connect it and use it in your workflows.

Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.

Triggers 6

Events in Keap that can start a workflow.

polling

New or updated contacts (polled)

Polls GET /contacts on a schedule with order=last_updated and since_updated_since to surface contacts created or changed since the last check.

polling

List Orders

List/search e-commerce orders (GET /orders).

polling

List Transactions

List e-commerce transactions (GET /transactions).

polling

List Tasks

List tasks (GET /tasks).

polling

List Appointments

List appointments (GET /appointments).

polling

List Affiliate Commissions

List affiliate commissions (GET /affiliates/commissions).

Actions 98

What Zervanor can do in Keap.

Contacts14

GET

List Contacts

List/search contacts (GET /contacts). Supports since_updated_since with order=last_updated for change detection.

POST

Create Contact

Create a contact (POST /contacts). At least one of email_addresses or phone_numbers is required.

GET

Get Contact

Get a single contact by id (GET /contacts/{contactId}).

PATCH

Update Contact

Update a contact (PATCH /contacts/{contactId}). Only supplied fields are changed.

PUT

Create or Update Contact

Create a new contact or update an existing one, deduplicating on a chosen property (PUT /contacts).

DELETE

Delete Contact

Delete a contact (DELETE /contacts/{contactId}).

GET

Get Contact Model

Get the contact object model — custom fields and option lists (GET /contacts/model).

POST

Create Contact Custom Field

Add a custom field to the contact model (POST /contacts/model/customFields).

POST

Apply Tags to Contact

Apply one or more tags to a contact (POST /contacts/{contactId}/tags).

DELETE

Remove Tags from Contact

Remove one or more tags from a contact (DELETE /contacts/{contactId}/tags?ids=...).

GET

List Contact Tags

List the tags applied to a contact (GET /contacts/{contactId}/tags).

GET

List Contact Credit Cards

List a contact's stored credit cards (GET /contacts/{contactId}/creditCards).

POST

Create Contact Credit Card

Add a credit card to a contact (POST /contacts/{contactId}/creditCards).

GET

List Contacts (v2)

List contacts using the newer v2 Contacts API (GET /crm/rest/v2/contacts), which supports richer filtering and field selection where v1 lacks coverage.

Tags9

GET

List Tags

List tags (GET /tags).

POST

Create Tag

Create a tag (POST /tags).

GET

Get Tag

Get a tag by id (GET /tags/{tagId}).

GET

List Tagged Contacts

List the contacts that have a given tag (GET /tags/{tagId}/contacts).

POST

Apply Tag to Contacts

Apply a tag to a list of contacts (POST /tags/{tagId}/contacts).

DELETE

Remove Tag from Contacts

Remove a tag from a list of contacts (DELETE /tags/{tagId}/contacts?ids=...).

GET

List Tag Categories

List tag categories (GET /tags/categories).

POST

Create Tag Category

Create a tag category (POST /tags/categories).

GET

List Tags (v2)

List tags using the newer v2 Tags API (GET /crm/rest/v2/tags), which exposes richer tag filtering than v1.

Orders7

GET

List Orders

List/search e-commerce orders (GET /orders).

POST

Create Order

Create an e-commerce order (POST /orders).

GET

Get Order

Get an order by id (GET /orders/{orderId}).

DELETE

Delete Order

Delete an order (DELETE /orders/{orderId}).

GET

List Order Items

List the line items on an order (GET /orders/{orderId}/items).

POST

Create Order Payment

Record a payment against an order (POST /orders/{orderId}/payments).

GET

List Order Payments

List payments recorded against an order (GET /orders/{orderId}/payments).

Affiliates6

GET

List Affiliates

List affiliates (GET /affiliates).

GET

Get Affiliate

Get an affiliate by id (GET /affiliates/{affiliateId}).

GET

List Affiliate Commissions

List affiliate commissions (GET /affiliates/commissions).

GET

List Affiliate Programs

List affiliate programs (GET /affiliates/programs).

GET

List Affiliate Redirects

List affiliate redirect links (GET /affiliates/redirectlinks).

GET

List Affiliate Summaries

List affiliate running-total summaries (GET /affiliates/summaries).

Hooks6

GET

List REST Hooks

List registered REST Hook subscriptions (GET /hooks).

GET

List REST Hook Event Types

List the event types available for REST Hook subscriptions (GET /hooks/event_keys).

POST

Create REST Hook

Create a REST Hook subscription (POST /hooks). Keap sends a verification request to hookUrl that must be answered with the X-Hook-Secret handshake before the hook activates.

GET

Get REST Hook

Get a REST Hook subscription by id (GET /hooks/{key}).

POST

Verify REST Hook

Complete the delayed verification handshake for a REST Hook (POST /hooks/{key}/verify).

DELETE

Delete REST Hook

Delete a REST Hook subscription (DELETE /hooks/{key}).

Appointments5

GET

List Appointments

List appointments (GET /appointments).

POST

Create Appointment

Create an appointment (POST /appointments).

GET

Get Appointment

Get an appointment by id (GET /appointments/{appointmentId}).

PATCH

Update Appointment

Update an appointment (PATCH /appointments/{appointmentId}).

DELETE

Delete Appointment

Delete an appointment (DELETE /appointments/{appointmentId}).

Companies5

GET

List Companies

List/search companies (GET /companies).

POST

Create Company

Create a company (POST /companies). company_name is required.

GET

Get Company

Get a company by id (GET /companies/{companyId}).

PATCH

Update Company

Update a company (PATCH /companies/{companyId}).

GET

Get Company Model

Get the company object model — custom fields (GET /companies/model).

Emails5

GET

List Emails

List email records (sent/recorded emails) (GET /emails).

POST

Create Email Record

Record an email that was sent outside Keap on the contact record (POST /emails).

POST

Send Email

Send an email to a list of contacts (POST /emails/queue).

PUT

Opt In Email Address

Opt in an email address to marketable status (PUT /emails/{email}/optIn).

PUT

Opt Out Email Address

Opt out (unsubscribe) an email address (PUT /emails/{email}/optOut).

Notes5

GET

List Notes

List notes (GET /notes).

POST

Create Note

Create a note on a contact (POST /notes).

GET

Get Note

Get a note by id (GET /notes/{noteId}).

PATCH

Update Note

Update a note (PATCH /notes/{noteId}).

DELETE

Delete Note

Delete a note (DELETE /notes/{noteId}).

Opportunities5

GET

List Opportunities

List/search opportunities (GET /opportunities).

POST

Create Opportunity

Create an opportunity (POST /opportunities). opportunity_title, contact and stage are required.

GET

Get Opportunity

Get an opportunity by id (GET /opportunities/{opportunityId}).

PATCH

Update Opportunity

Update an opportunity, e.g. move it to a new pipeline stage (PATCH /opportunities/{opportunityId}).

DELETE

Delete Opportunity

Delete an opportunity (DELETE /opportunities/{opportunityId}).

Products5

GET

List Products

List e-commerce products (GET /products).

POST

Create Product

Create a product (POST /products).

GET

Get Product

Get a product by id (GET /products/{productId}).

PATCH

Update Product

Update a product (PATCH /products/{productId}).

DELETE

Delete Product

Delete a product (DELETE /products/{productId}).

Tasks5

GET

List Tasks

List tasks (GET /tasks).

POST

Create Task

Create a task (POST /tasks).

GET

Get Task

Get a task by id (GET /tasks/{taskId}).

PATCH

Update Task

Update a task, e.g. mark complete (PATCH /tasks/{taskId}).

DELETE

Delete Task

Delete a task (DELETE /tasks/{taskId}).

Campaigns4

GET

List Campaigns

List marketing campaigns (GET /campaigns).

GET

Get Campaign

Get a campaign, including its sequences, by id (GET /campaigns/{campaignId}).

POST

Add Contact to Campaign Sequence

Add a contact to a campaign sequence (POST /campaigns/{campaignId}/sequences/{sequenceId}/contacts/{contactId}).

DELETE

Remove Contact from Campaign Sequence

Remove a contact from a campaign sequence (DELETE /campaigns/{campaignId}/sequences/{sequenceId}/contacts/{contactId}).

Files4

GET

List Files

List files in the account file box (GET /files).

POST

Upload File

Upload a file to the account file box (POST /files). file_data is base64-encoded.

GET

Get File

Get a file's metadata and, optionally, its data (GET /files/{fileId}).

DELETE

Delete File

Delete a file (DELETE /files/{fileId}).

Subscriptions3

GET

List Subscriptions

List recurring subscriptions (GET /subscriptions).

POST

Create Subscription

Create a recurring subscription for a contact (POST /subscriptions).

GET

Get Subscription

Get a subscription by id (GET /subscriptions/{subscriptionId}).

Account2

GET

Get Account Profile

Get the account profile for the authenticated Keap account (GET /account/profile). Identity + connectivity probe.

PUT

Update Account Profile

Update the account profile details (PUT /account/profile).

Locales2

GET

List Countries

List the countries known to the account, for address/settings pick lists (GET /locales/countries).

GET

List Country Provinces

List the provinces/states for a country (GET /locales/countries/{countryCode}/provinces).

Transactions2

GET

List Transactions

List e-commerce transactions (GET /transactions).

GET

Get Transaction

Get a transaction by id (GET /transactions/{transactionId}).

Merchants1

GET

List Merchants

List payment merchant accounts (GET /merchants).

Opportunity1

GET

List Opportunity Stage Pipelines

List the opportunity/sales pipeline stages (GET /opportunity/stage_pipeline).

Setting1

GET

Get Application Configuration

Get application-wide settings/configuration (GET /setting/application/configuration).

Users1

GET

List Users

List users on the account (GET /users).

Automations using Keap

Build your own automation with Keap in the visual builder.

Frequently asked questions

What can I automate with Keap?

98 actions are available — for example: Get Account Profile, Update Account Profile, List Contacts, Create Contact, Get Contact, and more.

Which Keap events can start a workflow?

6 triggers — for example: New or updated contacts (polled), List Orders, List Transactions, List Tasks.

Can Keap be used as an AI agent tool?

Yes. Every Keap action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.

How is the Keap integration modelled?

Keap is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.