Keap
Keep Keap up to date with every customer, deal and order, without copy and paste.
56 ways to read, 23 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Keap, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create companyApproval by rule
- Apply tag to companyApproval by rule
- List affiliatesRead
Example flow
- Keap · List affiliatesDone
- Keap · Create companyNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Keap.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Keap
- Keap's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Read and write Keap contacts, companies, opportunities, tags, tasks, notes, products and lead sources; read orders, payments, subscriptions and campaigns (REST v2).
Keap (Thryv) API docs- Source actions
- 56
- Destination actions
- 23
- Data types
- 36
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Affiliates2
- Get affiliateSource
Get affiliate by ID.
- List affiliatesSource
Referral partners (affiliates) with code, status and contact (read-only).
Automations2
- Get automationSource
Get automation by ID.
- List automationsSource
Automations with status and active contact counts (read-only).
Business profile1
- Get business profileSource
The Keap account's business name, contact details, currency and time zone.
Campaigns2
- Get campaignSource
Get campaign by ID.
- List campaignsSource
Campaigns with publish status and contact counts (read-only).
Companies4
- Create companyDestinationNot retried automaticallyApproval before production
Creates a company.
- Get companySource
Get company by ID.
- List companiesSourceIncremental
Companies with address, contact details and custom fields; filter by update time.
- Update companyDestinationProvider duplicate protectionApproval before production
Updates only the mapped company properties (update_mask).
Company tags2
- Apply tag to companyDestinationProvider duplicate protectionApproval before production
Applies a tag to a company.
- List company's tagsSource
Tags applied to one company.
Contact lead score1
- Get contact lead scoreSource
A contact's current lead score.
Contact link types1
- List contact link typesSource
Link types available for linking contacts.
Contact links2
- Link contactsDestinationProvider duplicate protectionApproval before production
Links two contacts with a contact link type (for example spouse or assistant).
- List linked contactsSource
Contacts linked to a contact, with the link type.
Contact tag1
- Apply tag to one contactDestinationProvider duplicate protectionApproval before production
Applies a tag to a single contact. Tags can start Keap campaigns and automations.
Contact tags2
- Apply tag to contactsDestinationProvider duplicate protectionApproval before production
Applies a tag to one or more contacts. Tags can start Keap automations; applying an applied tag again has no effect.
- List contact's tagsSource
Tags applied to one contact.
Contacts6
- Create contactDestinationNot retried automaticallyApproval before production
Creates a contact. At least one email, phone number or address is required.
- Get contactSource
Get contact by ID.
- List contactsSourceIncremental
Contacts with email consent status, tags and custom fields; filter by update time or email.
- Search contactsSourceIncremental
Contacts matching name, company, address or update-time filters (no email or phone filters).
- Update contactDestinationProvider duplicate protectionApproval before production
Updates only the mapped contact properties (update_mask).
- Create or update contact by emailDestinationProvider duplicate protectionApproval before production
Creates a contact, or updates the existing contact with the same email (duplicate_option=Email).
Custom fields1
- List custom fieldsSource
Custom field definitions with Keap field types and options for a record type.
Emails2
- Get emailSource
Get email by ID.
- List emailsSourceIncremental
Email records sent to or logged for contacts (read-only); filter by contact or created time.
Files2
- Get fileSource
Get file by ID.
- List filesSource
File box metadata (name, category, size); file contents are not read.
Lead source categories1
- List lead source categoriesSource
Lead source categories.
Lead sources4
- Create lead sourceDestinationNot retried automaticallyApproval before production
Creates a lead source for attribution.
- Get lead sourceSource
Get lead source by ID.
- List lead sourcesSource
Lead sources with vendor, medium and status; filter by name, status or category.
- Update lead sourceDestinationProvider duplicate protectionApproval before production
Updates only the mapped lead source properties (update_mask).
Notes4
- Create contact noteDestinationNot retried automaticallyApproval before production
Adds a note to a contact.
- Get contact noteSource
One note on a contact, with custom fields.
- List notesSourceIncremental
Notes across contacts; filter by update time or contact.
- Update contact noteDestinationProvider duplicate protectionApproval before production
Updates only the mapped note properties.
Opportunities4
- Create opportunityDestinationNot retried automaticallyApproval before production
Creates an opportunity for a contact in a pipeline stage.
- Get opportunitySource
Get opportunity by ID.
- List opportunitiesSource
Opportunities with contact, stage, owner and custom fields.
- Update opportunityDestinationProvider duplicate protectionApproval before production
Updates only the mapped opportunity properties, including moving it to another stage.
Opportunity stage moves2
- Get opportunity stage moveSource
Get opportunity stage move by ID.
- List opportunity stage movesSource
History of opportunity stage changes; filter by opportunity or user.
Opportunity stages2
- Get opportunity stageSource
Get opportunity stage by ID.
- List opportunity stagesSource
Pipeline stages with order and probability.
Order items1
- Get order itemSource
One order line item with product, quantity, prices and subscription plan.
Order payments1
- List order paymentsSource
Payments recorded against an order's invoice (read-only).
Orders2
- Get orderSource
Get order by ID.
- List ordersSourceIncremental
Orders with line items, totals and payment status; filter by modification time or contact.
Payments1
- List paymentsSourceIncremental
Payments across orders (read-only); filter by contact, order or payment time.
Product categories1
- List product categoriesSource
Product categories; filter by name or product.
Products4
- Create productDestinationNot retried automaticallyApproval before production
Creates a catalogue product. Inventory and images are not set.
- Get productSource
Get product by ID.
- List productsSource
Products with price, SKU and status.
- Update productDestinationProvider duplicate protectionApproval before production
Updates only the mapped product properties (update_mask).
Subscription plans2
- Get subscription planSource
One product subscription plan.
- List product subscription plansSource
Subscription plans of a product with cycle and price.
Subscriptions2
- Get subscriptionSource
Get subscription by ID.
- List subscriptionsSource
Customer subscriptions with billing amount, cycle and dates (read-only).
Tag categories4
- Create tag categoryDestinationNot retried automaticallyApproval before production
Creates a tag category.
- Get tag categorySource
Get tag category by ID.
- List tag categoriesSourceIncremental
Tag categories; filter by name or update time.
- Update tag categoryDestinationProvider duplicate protectionApproval before production
Renames a tag category or changes its description.
Tagged companies1
- List tagged companiesSourceIncremental
Companies that carry a tag, with when it was applied.
Tagged contacts1
- List tagged contactsSourceIncremental
Contacts that carry a tag, with when it was applied; filter by applied time.
Tags4
- Create tagDestinationNot retried automaticallyApproval before production
Creates a tag, optionally in a category.
- Get tagSource
Get tag by ID.
- List tagsSourceIncremental
Tags with categories; filter by update time or name.
- Update tagDestinationProvider duplicate protectionApproval before production
Renames a tag or changes its description or category.
Tasks4
- Create taskDestinationNot retried automaticallyApproval before production
Creates a task assigned to a user, optionally linked to a contact or opportunity.
- Get taskSource
Get task by ID.
- List tasksSourceIncremental
Tasks; filter by update time, contact, user or completion.
- Update taskDestinationProvider duplicate protectionApproval before production
Updates only the mapped task properties, for example to complete it.
User groups1
- List user groupsSource
User groups (read-only).
Users2
- Get userSource
Get user by ID.
- List usersSource
Keap users, used as owners and task assignees.
Access and limits
- Authentication
- Keap Personal Access Token or Service Account Key
- Plans and access
- All Keap plans; Personal Access Tokens are created per user in Keap settings. A Personal Access Token acts with the visibility and edit rights of the user who created it.
- Test environment
- Keap developer sandbox apps are available through the Keap developer program.
- Rate limits
- 10 requests per second, 240 per minute and 30,000 per day per token; HTTP 429 when exceeded.
- Pagination
- page_token cursors with next_page_token; up to 1,000 records per page (100 for users).
- Provider events
- Keap REST hooks for contact, opportunity, order and tag events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- OAuth app (authorization code) connections are not offered; use a Personal Access Token or Service Account Key.
- Email opt-in is only set when emailOptInReason is mapped; Nexra never changes marketing consent on its own.
- Orders, payments and subscriptions are read-only in Nexra. Order creation, payments, refunds, subscription create/invoice/cancel, inventory adjustments, discounts and merchant settings are not exposed. Products can be created and updated as catalogue records only.
- Order and product totals are returned as Keap reports them (CurrencyValue amount).
- Contact and record creation have no idempotency key, except contacts.upsert which matches on email.
- Tags can trigger automations: applying a tag (contact_tags.create, contact_tag.create, company_tags.create) can start campaigns or automations configured on that tag. Removing tags is not exposed.
- Not exposed: deletes, contact merges and unlinks, sending email or email templates, email record logging, email opt-in status changes by address, campaign sequence and automation enrolment, automation goals and publishing, affiliate and commission changes, user changes and custom field definition changes.
Developer reference
- Create the Keap (Thryv) credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Keap, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/keap and the Connections API.
