# Iterable

## Overview

Whether you're re-engaging inactive customers or rewarding loyal ones, this integration makes it easy to incorporate direct mail into your marketing strategy—no technical skills required.

The Poplar + Iterable integration allows you to:

* Trigger direct mail pieces within your Iterable journeys using webhooks.
* Send customer data to Poplar's Mailing, Audiences, or Do Not Mail endpoints.
* Utilize customer data (e.g., name, address, email) to personalize creative artwork.
* Leverage existing customer segments for timely, targeted messages.

### Prerequisites

Before integrating and sending tests with Iterable, ensure you've completed the following:

* [ ] Create a campaign in Poplar and upload creative (can be a placeholder for testing).
* [ ] Ensure the campaign is set to Active.
* [ ] Locate your Production and Test Access Tokens in your Poplar account.
* [ ] Make sure you have the proper account permissions to create webhooks and edit journeys within Iterable.
* [ ] Determine whether you'll be targeting users with full address data, only email data, or both. If sending mailing address data with Poplar, double check the users in your list have **complete** address data in their profile (address\_1, city, postal\_code).

{% hint style="warning" %}
If creative isn't uploaded to your campaign, you will receive a 400 error in Iterable when testing the webhook. The campaign must be Active with creative uploaded to test the integration.
{% endhint %}

***

## Step 1: Create a Webhook in Iterable

* Log into Iterable and navigate to **Integrations > Journey Webhooks**.
* Click the green **New Webhook** button.
* Enter a recognizable name for your webhook.

![iterable-2](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308dfbf90c29a3d732c21c3/file-BZni5H8IwK.png)

## Step 2: Configure the Webhook

* **Destination URL**: `https://api.heypoplar.com/v1/mailing/`&#x20;
* **HTTP Method**: POST
* **Authentication**:
  * Click **Add Header**.
  * **Key**: `Authorization`
  * **Value**: `Bearer YOUR_TEST_OR_PRODUCTION_API_ACCESS_TOKEN`
* **Body**: Set to **URL-encoded form**.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e02c4cde766bbe13f6e9/file-wWRHn21Nit.png)

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e0c090c29a3d732c21ce/file-3iaxoSxzXk.png)

### Add Form Fields

Add the necessary form fields to construct the data sent to Poplar. The keys on the left represent the values Poplar expects, and the values on the right (the variables within the curly braces) should correspond to to the labels within your user profiles in Iterable.

{% hint style="info" %}
If you're unsure of what the variables should be, pull up a user profile in Iterable in a separate screen for reference.
{% endhint %}

**Address Data**

If you have customer shipping or billing addresses stored in Iterable and want to use them for mailing:

* **recipient\[full\_name]**: `{{firstName}} {{lastName}}`
* **recipient\[address\_1]**: `{{address.street}}`
* **recipient\[address\_2]**: `{{address.unit}}`
* **recipient\[city]**: `{{address.city}}`
* **recipient\[state]**: `{{address.state}}`
* **recipient\[postal\_code]**: `{{address.zip}}`&#x20;
* **campaign\_id:** `your-poplar-campaign-id-here`

![Full Address Data Webhook](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e2cec713d51da3ed8fad/file-4Mc52hZfDq.png)

**Emails for Address Enrichment**

If you're using Poplar's address enrichment feature:

* **recipient\[email]**: `{{email}}`&#x20;
* **campaign\_id:** `your-poplar-campaign-id-here`

![Address Enrichment Webhook](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e3064cde766bbe13f6fe/file-FzYRMF5xid.png)

**Custom Merge Tags**

If your creative includes custom merge tags:

* **merge\_tags\[promo\_code]**: `{{promoCode}}`
* **merge\_tags\[last\_purchase]**: `{{lastPurchaseDate}}`

![Merge Tags Webhook](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e4cac713d51da3ed8fc0/file-HTGPqVTxPy.png)

*Ensure that the values inside the `merge_tags` object match the merge tags used in your creative.*

## Step 3: Add the Webhook to a Journey

* Navigate to **Messaging > Journeys** in Iterable.
* Select an existing journey or click **Create New Journey**.

![Iterable Journey](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e6584cde766bbe13f721/file-jjQjBLINrz.png)

* In the journey canvas, drag and drop the **Call Webhook** action into your flow.
* Double-click the webhook node to configure it.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e73b90c29a3d732c21fb/file-2fJMnMwIOj.png)

* Toggle **Use preset journey webhook** to **ON**.
* Select the Poplar webhook you created from the dropdown.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e7674cde766bbe13f72b/file-BSx1iKukf8.png)

* Click **Update** to save the configuration.

## Step 4: Test the Integration

* Click **Save Journey** to access the **Test Journey** option.
* Enter an email address that corresponds to a user profile in Iterable containing all the necessary data fields.
* Click **Test Journey** to send a test trigger.

*Ensure the test user profile includes all required data fields; otherwise, the test will not be successful.*

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e7a14cde766bbe13f72c/file-M90jLR4X3p.png)

## Step 5: Verify in Poplar

* Log into your Poplar account and navigate to the **Campaign Overview** and scroll down to the **History** section to see successful requests listed.
* Locate the test mailer to confirm it was received.
* Click on the mailer to view the PDF proof with user data applied.
* Scroll down to **Request Details** to verify the data received from Iterable matches your expectations.

## Step 6: Go Live!

Once you've confirmed the integration is working as intended:

* Replace the Test Access Token in your webhook configuration with your Production Access Token.
* Save all updates in Iterable.
* Ensure your journey is **Enabled** to start sending live mailers.

![Enable Iterable Journey](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5f340c51042863444aa03abf/images/6308e8d7037bc877147b3697/file-wBFd9KJ2WM.png)
