Skip to main content

Keap

Keap is a comprehensive customer relationship management and marketing automation platform designed for small businesses, providing tools for lead generation, email marketing, sales pipeline management, and customer service to help businesses grow revenue, create more fans, and work fewer hours.

Keap icon

Power end-to-end data operations for your Keap API with Nexla. Our bi-directional Keap connector is purpose-built for Keap, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Keap or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Keap workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Keap credential, you need to obtain an API Key from your Keap account. The API Key is required to authenticate with the Keap REST API (formerly Infusionsoft).

To obtain your API Key, you need to have a Keap account and access to your Keap application settings. Once you have access, you can generate an API Key (also known as a PAT - Personal Access Token or SAK - Secret Access Key) from your Keap account settings. The API Key is used to authenticate all API requests to the Keap REST API. The API Key is sent in the X-Keap-API-Key header for all API requests. For detailed information about obtaining API keys and API authentication, refer to the Keap Developer Guide and Keap PAT and SAK documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API Key ValueYesYes

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Keap

KeapCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Enter your Keap API Key in the API Key Value field. This is the API Key (PAT or SAK) you obtained from your Keap account settings. The API Key is required for all API requests and is used to authenticate your account. The API Key is sent in the X-Keap-API-Key header for all API requests to the Keap REST API.

    Keep your API Key secure and do not share it publicly. The API Key provides access to your Keap account data and should be treated as sensitive information. Your Keap API Key can be found in your Keap account settings where you manage API keys (also referred to as PAT - Personal Access Token or SAK - Secret Access Key). The API Key is sent in the X-Keap-API-Key header for all API requests to the Keap REST API. If your API Key is compromised, you should immediately regenerate it in your Keap account settings. For detailed information about obtaining and managing API keys, API authentication, and available endpoints, see the Keap Developer Guide and Keap PAT and SAK documentation.

  3. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Keap connector tile, then select the credential that will be used to connect to the Keap account, and click Next; or, create a new Keap credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Keap endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Contacts

List Contacts

  • This endpoint automatically retrieves all contacts from your Keap account. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses GET requests to https://api.infusionsoft.com/crm/rest/v2/contacts to retrieve a list of contacts. The endpoint URL is automatically constructed based on the Keap REST API base URL.
  • The endpoint uses pagination (iteration.type: paging.next.token) to retrieve all contacts. Pagination uses the next_page_token from the API response to navigate through pages. The next_page_token query parameter is used to request the next page of results. The endpoint will automatically fetch all pages until all contacts are retrieved.
  • The response data path is $.contacts[*], which extracts all contact objects from the contacts array in the API response. The next page token is extracted from the root level of the response ($) for pagination.
  • The date format is yyyy-MM-dd with a time unit of dd (days), which is used for incremental data extraction based on record dates.

This endpoint retrieves a list of all contacts from your Keap account. The endpoint requires API key authentication via the X-Keap-API-Key header, which is handled automatically by your credential configuration. The endpoint uses token-based pagination to retrieve all contacts across multiple pages. The contacts returned include contact information such as names, email addresses, phone numbers, and custom fields. For detailed information about listing contacts, pagination, and API response formats, see the Keap REST API documentation.

List Companies

List Companies

  • This endpoint automatically retrieves all companies from your Keap account. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses GET requests to https://api.infusionsoft.com/crm/rest/v2/companies to retrieve a list of companies. The endpoint URL is automatically constructed based on the Keap REST API base URL.
  • The endpoint uses pagination (iteration.type: paging.next.token) to retrieve all companies. Pagination uses the next_page_token from the API response to navigate through pages. The next_page_token query parameter is used to request the next page of results. The endpoint will automatically fetch all pages until all companies are retrieved.
  • The response data path is $.companies[*], which extracts all company objects from the companies array in the API response. The next page token is extracted from the root level of the response ($) for pagination.
  • The date format is yyyy-MM-dd with a time unit of dd (days), which is used for incremental data extraction based on record dates.

This endpoint retrieves a list of all companies from your Keap account. The endpoint requires API key authentication via the X-Keap-API-Key header, which is handled automatically by your credential configuration. The endpoint uses token-based pagination to retrieve all companies across multiple pages. The companies returned include company information such as names, addresses, and custom fields. For detailed information about listing companies, pagination, and API response formats, see the Keap REST API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Keap data sources can also be manually configured to ingest data from any valid Keap REST API endpoint, including endpoints not covered by the pre-built templates or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Keap REST API endpoints typically follow the pattern https://api.infusionsoft.com/crm/rest/v2/{endpoint_path}, and the Keap REST API typically returns data in JSON format. The endpoint requires API key authentication via the X-Keap-API-Key header, which Nexla adds automatically based on your Keap credential. For detailed information about Keap REST API endpoints, authentication, and available APIs, see the Keap Developer Guide.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Keap data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Keap destination, and select the Send to Destination option from the menu. Select the Keap connector from the list of available destination connectors, then select the credential that will be used to connect to the Keap account, and click Next; or, create a new Keap credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Keap endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Contact

Create Contact

  • This endpoint automatically creates contacts in your Keap account using data from your Nexset. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses POST requests to https://api.infusionsoft.com/crm/rest/v2/contacts to create contacts. The endpoint URL is automatically constructed based on the Keap REST API base URL.
  • The endpoint sends data from your Nexset as the request body in JSON format. The request body is automatically formatted according to the schema fields and data mapping you configure. Each record in your Nexset will be sent as a JSON object containing the contact data to create.
  • Batch mode is disabled by default for this endpoint, which means each record from your Nexset will be sent as a separate API request. This ensures that each contact is created individually.
  • This endpoint does not automatically create a data source to track the responses received from the Keap REST API after each call.

The request body must be properly formatted JSON that matches the Keap REST API specification for creating contacts. The endpoint requires API key authentication via the X-Keap-API-Key header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. The request body must contain the required fields for contact creation, such as email address, name, and other contact information. For detailed information about creating contacts, including required fields, field names, and request formats, see the Keap REST API documentation.

Create Company

Create Company

  • This endpoint automatically creates companies in your Keap account using data from your Nexset. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses POST requests to https://api.infusionsoft.com/crm/rest/v2/companies to create companies. The endpoint URL is automatically constructed based on the Keap REST API base URL.
  • The endpoint sends data from your Nexset as the request body in JSON format. The request body is automatically formatted according to the schema fields and data mapping you configure. Each record in your Nexset will be sent as a JSON object containing the company data to create.
  • Batch mode is disabled by default for this endpoint, which means each record from your Nexset will be sent as a separate API request. This ensures that each company is created individually.
  • This endpoint does not automatically create a data source to track the responses received from the Keap REST API after each call.

The request body must be properly formatted JSON that matches the Keap REST API specification for creating companies. The endpoint requires API key authentication via the X-Keap-API-Key header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. The request body must contain the required fields for company creation, such as company name and other company information. For detailed information about creating companies, including required fields, field names, and request formats, see the Keap REST API documentation.

Manual configuration

Keap destinations can also be manually configured to send data to any valid Keap REST API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Keap REST API endpoints typically follow the pattern https://api.infusionsoft.com/crm/rest/v2/{endpoint_path}, and the Keap REST API typically uses JSON format for request bodies. The endpoint requires API key authentication via the X-Keap-API-Key header, which Nexla adds automatically based on your Keap credential. For detailed information about Keap REST API endpoints, authentication, and available APIs, see the Keap Developer Guide.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Keap endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Keap endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.