Custom Destinations

Work with GrowthLoop to add an internal or unsupported API as a destination for your organization.

When you need to send audiences to an API GrowthLoop does not list, or to an API your team built, Enterprise plans can add that destination for your organization only.

A GrowthLoop destination architect designs the request and response contract with your team. After it ships, marketers add it like any other destination and export from an audience or a journey.

If you can already call your API with a URL, headers, and a JSON body, use HTTP Endpoint instead. That destination is self-serve.

This destination writes to your API and is a good fit when you want to:

  • Send to an internal API, or a platform GrowthLoop does not list
  • Keep the destination available only for your organization

This maps to GrowthLoop Audiences and Journeys:

Use it forAudiencesJourneys
Creating and loading a list, segment, cohort, or audience in your API✓✓
Sending a campaign or message for each contact✓

Prerequisites

Make sure you have:

  • An Enterprise plan.
  • An API your team can expose for GrowthLoop to call.
  • A technical owner who can agree on authentication, match keys, and endpoints.

To start, contact [email protected]. A destination architect typically gets the destination live for your organization in under two weeks.

How it works

GrowthLoop supports two integration patterns.

  • Audience destinations: Your platform has lists, segments, cohorts, or audiences. GrowthLoop creates that object, then loads members on an ongoing basis.
  • Trigger destinations: Your platform has no list object. GrowthLoop sends each person to your API and triggers the campaign or message the marketer selected.

Most platforms should use the audience pattern.

Audience destinations

Use this pattern when GrowthLoop should create a list in your platform and keep membership in sync.

GrowthLoop posts create-audience and populate-segment requests to your API

Setup

Your destination architect will collect:

ItemWhat it controls
AuthenticationWhat marketers enter when they add the destination. API keys, OAuth, or another method. The destination appears only for your organization
Match keysFields marketers can map at export time, such as email, phone, name, address, or a unique ID from the warehouse
Personalization fieldsWhether the platform can accept extra fields for messaging

Create audience endpoint

GrowthLoop sends a POST to create the list, segment, cohort, or audience.

Request parameters:

  • audience_name: Name the marketer entered on the export
  • audience_id: GrowthLoop audience ID. You can store this if you want

Expected response:

  • Status 200 when the object was created
  • custom_audience_id: The ID your system assigned to that list

Load audience endpoint

GrowthLoop sends a POST to add members to the object you created.

Request parameters:

  • custom_audience_id: The ID your create endpoint returned
  • payload: Batches of match keys for GrowthLoop to load
{
  "schema": "EMAIL_SHA256",
  "data": [
    "<HASHED_DATA>",
    "<HASHED_DATA>",
    "<HASHED_DATA>"
  ]
}

Optional response fields help the Activity Tracker show success and failures:

NameDescription
custom_audience_idThe list ID in your system
num_received (optional)How many records you accepted
num_invalid_entries (optional)How many records you rejected
invalid_entry_samples (optional)Example rejected records

Trigger destinations

Use this pattern when your platform has no list object and should send a campaign or message to each person instead.

GrowthLoop lists campaigns from your API, then posts a send for each person

Setup

Collect the same Authentication, Match keys, and Personalization fields as an audience destination.

List campaigns endpoint

GrowthLoop sends a GET so marketers can pick a campaign or message.

Expected response:

  • Status 200
  • campaigns: An array of objects with campaign_name and campaign_id

Those values appear in the export UI.

Send campaign endpoint

GrowthLoop sends a POST for each person who reaches the export or journey node.

Request parameters:

  • payload: Match keys and personalization fields for that person
  • campaign_id: The campaign the marketer selected from the list endpoint

Expected response:

  • Status 200 when your API accepted the person and sent the campaign or message

Export behavior

BehaviorWhat happens
What GrowthLoop writesList membership or a per-person campaign trigger, depending on the pattern. Direction is GrowthLoop → your API
When it runsBatch. Audience destinations load members on the export schedule. Trigger destinations send when people reach the export or journey Destination node
Organization scopeThe destination appears only for your organization
Audience patternGrowthLoop creates a list, then loads members on a schedule
Trigger patternGrowthLoop sends each person to the campaign the marketer selected
Custom contractsOn Enterprise, destination architects can change the request and response shape to match your API

What you get

After the integration ships, marketers add the destination from Destinations and export from an audience or a journey Destination node. See Export an audience or Build a journey.

If you only need GrowthLoop to call URLs you configure yourself, use HTTP Endpoint.


Ready to get started? Contact [email protected] and a destination architect will plan the integration.

📘

Need customizations?

GrowthLoop can customize requests and expected responses for your destination on an Enterprise plan.


What’s Next

Export an audience after you connect a destination

Did this page help you?