# Guide: Using ConvertKit with Databox (Custom API Integration)

## Overview

ConvertKit is an email marketing solution for running advanced email marketing campaigns.

The ConverKit integration is designed for more tech-savvy users, as it syncs data through a Custom API integration. In order to create ConvertKit metrics in Databox, you'll need to use the Metric Builder. Learn more about the basics of Metric Builder for Custom API Integrations [here](/master-overview-custom-api-integrations).

## Integration basics

| Integration status | Beta |
|  --- | --- |
| Type of Account access needed | Not Specified |
| Authorization type | Basic |
| Available endpoints | All REST endpoints |
| Available requests | All GET requests |
| Needed permissions (scopes) | / |
| Allowed API versions | All currently active API versions. Example: You can use a v1 of an API or v4, as long as they are both still supported. Deprecated APIs normally stop returning data. |
| Timezone | UTC |
| Dynamic date range support | No |
| Pagination support | Yes |
| Type of Pagination supported | Page based |
| Rate Limits | No information available in the API documentation. |
| Official documentation | - [https://developers.convertkit.com](https://developers.convertkit.com/) - [https://status.convertkit.com](https://status.convertkit.com/)

 |
| Follow the status of the API on the official changelog | - [https://updates.convertkit.com/changelog?page=2](https://updates.convertkit.com/changelog?page=2)

 |


## How to connect ConvertKit to Databox

![](/assets/guide-using-convertkit-with-databox-custom-api-integration_1.589cf6f7465cdcf0aa2e66aadd7ee8a1be51237e85f31b3ff0ea9950bb29691c.4783b0ec.gif)

To connect a ConvertKit Account in Databox, go to  **Data Manager > + New connection.** Type**ConvertKit**in the search bar and click on the **Connect**button. Next, click the green **Connect now** button.

This will open the  **Authorization** window, which is where you will be prompted to enter your **API secret** to authorize the Databox app. Learn how to access your API secret [here](/guide-using-convertkit-with-databox-custom-api-integration).

## How to access your API key, access token / API key secret?

To successfully connect your ConvertKit with Databox, you will need to use your **API secret**in the connect process.

![](/assets/guide-using-convertkit-with-databox-custom-api-integration_2.d4dfe64a56936afcafd406185518b46f5b600520fc544ac314ab28be3e00fbc2.4783b0ec.png)

You can find and access your API Secret by navigating to  **Account Settings > Advanced Settings** in the subsection API. You will have to click the **Show** button in order to reveal the API Secret.

You can access the Advanced settings of your account [here](https://app.convertkit.com/account_settings/advanced_settings).

## What's the maximum amount of historical data initially available when you use a new ConvertKit Data Source Metric in Databox?

The amount of historical data available in Databox is dependent on the custom metric setup, API limitations, pagination limitations, and the user's Databox plan:

- Custom Metric Setup: When a user creates a metric using an endpoint that supports date time parameters in the API request, those date time parameters determine the amount of historical data that will be pulled for the given metric. You can learn more about the date time parameters [here](/master-overview-custom-api-integrations).
- API Limitations: APIs may have limits set by the system itself on the amount of historical data that is stored/ can be accessed.
- Pagination Limitations: The pagination limit is set to 100 pages, which means that pagination will stop when the 100th page is reached. In cases where the metric is using pagination, of course, the interplay of date time parameters and pagination can have an impact on how much of the historical data the user can pull for a given metric. Learn more [here](/master-overview-custom-api-integrations).
- Databox Plan: The amount of historical data you're able to access in Databox is dependent on your Databox plan. Learn more [here](/choose-a-subscription-plan).


In order to start syncing data for a Metric, you can add it to your Metrics screen, use it in a Scorecard, set a Goal around it, create an Alert for it, or add it to a Databoard. Learn more [here](/data-sync-storage-security-in-databox).

## What time zone does ConvertKit data sync in?

ConvertKit data is synced in UTC. Currently, the API only supports dynamic dates on the GET [/v3/subscribers](https://developers.convertkit.com/#subscribers) endpoint.

## What type of pagination is supported by ConvertKit Integration

Pagination is only applicable for the GET [/v3/subscribers](https://developers.convertkit.com/#subscribers) and GET [/v3/purchases](https://developers.convertkit.com/#purchases) endpoints. The pagination limit is set to 100 pages, which means the pagination will stop when the 100th page is reached. The default amount of items that the API returns is 100.

Learn more about pagination [here](/master-overview-custom-api-integrations).

## How to access pre-built ConvertKit Metrics

1. Navigate to **Metrics > Metric Library**.
2. In the  **Browse by Data Source**section, click the Data Source dropdown and search for **ConvertKit**. This will filter out pre-built ConvertKit Metrics.


## How to create custom ConvertKit Metrics

Let's walk through how to create a Custom Metric for ConvertKit.

In order to prepare API requests, you should reference API-specific documentation that can be found in the Databox app through the **API Docs** link in the top right of the **Prepare API Request** page. Or, use this [direct link](https://developers.convertkit.com/).

1. Navigate to **Metrics > Custom Metrics** to access the Metric Builder for ConvertKit.
2. Click the green + **New Custom Metric** button and select your connected ConvertKit Account from the **Data Source** drop-down list.
3. Open the **API documentation for ConvertKit** to find the **endpoint** that will return the data needed for the given custom metric you wish to create.
4. Click the drop-down to select **GET**or **POST**as the HTTP Method. This is dependent on the information you found in the API documentation.
5. The Base URL is already predefined, you will need to copy the **missing part**of your chosen endpoint to sync the appropriate data.
6. Add **Parameters**based on your HTTP Method. Parameters limit the records returned for the API request.
  1. If you're creating a GET request, define the Key and Value pair(s). The API documentation provides information on endpoints for a field/ argument, which will be the Key. The condition (i.e., an ID, true/ false, etc.) will be the Value.
If the API documentation for ConvertKit states that the Integration supports dynamic date ranges, you will be able to click the  **calendar**icon to add datetime parameters.
  2. If you're creating a POST request, define the relevant JSON body.
Click on the  **calendar** icon to add datetime parameters.
  3. Pro Tip: You can choose multiple Keys and Values for one Custom Metric. You can add an additional Key and Value by clicking on “+”.
7. You can add Headers that include Key and Value pairs if the API needs this to successfully return data.
8. If the endpoint supports pagination, we recommend you select the appropriate method using the **Pagination Method**dropdown.
9. Once you have the basic setup, click on the green **Continue** button. You will be directed to the **Select value** step.
10. In the **Select value**step, select a property that includes the metric value you'd like to track in your Custom Metric. A metric value must be purely numeric.
11. Once you have selected the value, click on the green **Continue** button.
12. The **Segment by dimension**step is optional. This step will be taken into account only when you are trying to create a dimensional metric. If you'd like to segment your metric by multiple dimensions, choose one to complete during this set up, then begin again and select a different dimension until each desired metric is created.
  1. To skip this step, select **None**.
13. The **Select date** step is optional as well.
  1. **Use current time of storing data (Dynamic)**: Select this option if you don't want to select a date field
  2. **Use a field from response (optional)**: Select this if you want to select a date in order to see your data in predefined intervals.
14. In the **Preview & Customize**step, you can see the JSONata expression that has been created based on your selection of properties.
  1. You can customize the JSONata expression (optional) in the right editor panel.
15. To continue, click on the **Preview data** button to validate the expression and returned data.
16. Once you have previewed your data, click on the green **Continue**button to proceed to the last step of setting up your Custom Metric.
17. In the **Describe metric**step, you can set up the following:
  1. Name your metric: Enter a name for your custom metric.
  2. Data Aggregation: These selections determine how your data is handled. This especially impacts the way data is grouped and displayed for longer Date Ranges. Learn more [here](https://developers.databox.com/metric-definition/#aggregation-functions).
  3. Favourable trend: You can select when "Trending UP is positive" or "Trending DOWN is positive," since some metrics are better (positive) when the value is lower (like Bounce rate, Churn rate, etc.). This will affect how comparison values and goal comparisons are calculated and calculated.
18. Once you completed the **Describe metric** step, click the green **Continue**button to finish the Custom metric setup.


## Integration Limitations

- Databox limits the use of its integrations to GET requests. This is because our integration only reads your data.
- **Scopes**: The api_secret you provide can be used to retrieve/create/update/delete your data. But we limit the requests to only those that retrieve data.


If specific scopes of an integration allow you to create, change, delete or manipulate data in any other way, using such API calls can result in unexpected behavior. Databox is in no way liable for such API calls.