Customer.io
Renta exports three Customer.io objects to your data warehouse: the people of a workspace, campaigns, and newsletters.
A person's row holds the attributes of their profile, custom ones included. Campaigns and newsletters arrive as metadata rows: name, type, tags, related segments, and the times they were created, updated, and started or sent.
Authentication
Renta connects to Customer.io with an App API key. Track credentials (the Site ID and API key pair used for sending events) belong to a different API and will not work here.
To create the key, open Settings > Account Settings > API Credentials in Customer.io, switch to the App API Keys tab, and click Create App API Key. Pick the workspace the key should read from. Customer.io shows the key once, right after creation, so copy it before closing the dialog.
An App API key belongs to one workspace. To load several workspaces, create a key in each and add a separate source per workspace.
Connect Customer.io source
Follow these steps to add Customer.io as a source in Renta using an App API key.
- Navigate to the Connections > Catalog section in the left sidebar.
- Open the Email marketing category and click the Customer.io card.

- Source name A name for this data source. It is used exclusively in the Renta interface.
- API key The App API key of your Customer.io workspace.
- Workspace region The region where your Customer.io account stores data, US or EU. Account admins see it in Customer.io under Settings > Account Settings > Data and Privacy.
- Click Save.
Renta checks the key against Customer.io before saving, so a mistyped key or a wrong region fails right on this step.

The new source appears in the Sources list with the Active status. You can now use it in pipelines.

Create a pipeline
Once the source is connected, create a pipeline to sync your Customer.io data into your destination.
Create a Customer.io pipeline
Link your Customer.io source to a destination and configure the pipeline.
In the left sidebar, click New pipeline. On the Source step, select Customer.io under Already connected and click Next step.

Choose the Customer.io connection you created earlier and click Next step. The card shows the workspace region of the connection.

On the Destination step, select your destination (for example, Google BigQuery) and click Next step.

Choose the destination connection you want to load data into and click Next step. The card shows the dataset and project the data will land in.

Pipeline configuration
On the final step, choose the report, pick its fields, and set the schedule.
Report type
Select which Customer.io object the pipeline exports. One pipeline loads one report type.

| Report type | Description |
|---|---|
| Campaigns metadata report | The campaign list of the workspace: name, type, state and active flag, tags, the segments that trigger the campaign, the actions it performs, and the times it was created, updated, and first started. |
| Newsletters metadata report | The newsletter list: name, type, tags, recipient segments, subscription topic, content identifiers, and the times the newsletter was created, updated, and sent. |
| Customers report | Every person in the workspace with the attributes of their profile: identifiers, email, and the custom attributes you send to Customer.io. |
The Customers report runs through the Customer.io export mechanism. Renta orders a people export when you open the parameter list and again on every run. Because of this, export entries appear in your workspace, and in a large workspace the parameter list opens with a delay.
Parameters
Pick the Customer.io fields that will become columns of the destination table.

Under every field is the name of its future column. The Selected tab counts what you picked, and Unselect All clears the choice.
For Campaigns metadata report and Newsletters metadata report the timestamps come in three variants: unix seconds (Created Timestamp), a datetime (Created Datetime), and a date (Created Date). Pick the variant your queries need. The Actions [Object] parameter of campaigns loads as a nested list with the identifier and type of each action.
For Customers report the list repeats the attributes of the people in your workspace, custom attributes included. Every column of this report arrives as text.
Table name and schedule
Name the pipeline and choose how often it runs.

- Integration name The name of the pipeline. It is used exclusively in the Renta interface.
- Table name The destination table name. You can keep the auto-generated name or enter your own.
- Schedule The schedule type of the pipeline.
| Schedule type | Description |
|---|---|
| Manual | The pipeline runs only when triggered manually through the interface or via API. |
| Daily | The pipeline runs once a day at the specified update time. |
| Interval | The pipeline runs at specified time intervals. |
| Cron Expression | The pipeline runs on a schedule defined by a cron expression. |
For Daily schedules, set the Update time, the exact time each run starts, then click Create pipeline.

Renta also supports API triggers and integration with external orchestrators such as Apache Airflow, Dagster, and Prefect. See the full scheduling documentation for details.
The new pipeline appears in the Pipelines section under the ETL tab, where you can track its runs, progress, and the destination table name.

Sync strategy
Renta synchronizes every Customer.io report type the same way.
| Strategy | Supported report types | Description |
|---|---|---|
| Full reload | Campaigns metadata report, Newsletters metadata report, Customers report | Renta reads the object in full on every run and replaces the contents of the destination table. The table matches the workspace at the time of the run, and a record that Customer.io stops returning leaves the table on the next run. |
Because every run reads the object in full, the pipeline has no date range or overwrite period settings, and destination tables stay unpartitioned.
Ready to get started?
Build your data pipeline today or get a personalized demo. Start free!
Need help?
Get expert support to ensure your project succeeds. We're here to help!
Feature requests?
Help shape our product! Share your ideas for new features and integrations.