Triggering a Journey From Another Journey

A simple way to hand off contacts between journeys using a single REST call.

TL;DR

Trigger a second Journey Builder flow directly from your primary journey using CloudRelay. No code and no custom activity development required.

Who:
Marketers
MOps
You'll build:

A CloudRelay step that sends a JSON payload into a secondary journey that uses a REST API Event entry source.

Prereqs:
  • Salesforce Marketing Cloud Engagement
  • CloudRelay installed
  • A secondary journey with a REST API Event
  • Client ID and Client Secret
  • Your correct SFMC REST subdomain

What You're Building

In this tutorial you will build a simple but powerful connection between two separate journeys inside Journey Builder. Think of it as creating a clean handoff from one flow to the next. When a contact reaches a certain point in your primary journey, CloudRelay will send their details to a REST API Event and instantly start a secondary journey for them.

This is useful when your customer experience does not fit neatly inside a single canvas. Maybe you have a dedicated onboarding flow, followed by a loyalty flow. Maybe you have a verification journey that should run before the main lifecycle journey. Or maybe you simply want to keep long programs split into smaller, easier to maintain steps.

CloudRelay lets you trigger these handoffs with a single API call. You prepare a small JSON payload, map the attributes you care about, and CloudRelay handles authentication, token management, and delivery. The result is a smooth transition between journeys that feels native to SFMC without any custom development.

By the end of this guide you will have a working setup that sends real contacts from one journey into another in real time.

Setting things up in CloudRelay

Plan

Identify the secondary journey that uses a REST API Event.
Collect:

  • The Event Definition Key
  • Required attributes
  • Your SFMC REST base URL
    Decide which Journey Builder attributes you want to pass through the JSON payload.

Connect

Drag the CloudRelay activity into your primary journey.


Use the following endpoint:

POST https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/interaction/v1/events

Replace YOUR_SUBDOMAIN with your tenant’s REST subdomain.

Configure

1. Authentication

Use OAuth 2.0.

Access Token URL:

https://YOUR_SUBDOMAIN.auth.marketingcloudapis.com/v2/token


Enter Client ID and Client Secret.

CloudRelay manages token exchange automatically.

2. JSON body

Paste the following payload into the Body field:

{
  "ContactKey": "{{Contact.Key}}",
  "EventDefinitionKey": "<your-event-definition-key>",
  "Data": {
    "FirstName": "{{Event.FirstName}}",
    "LastName": "{{Event.LastName}}",
    "Email": "{{Event.EmailAddress}}",
    "JourneySource": "PrimaryJourney",
    "Note": "Triggered via CloudRelay"
  }
}

Map attributes using the right-hand panel.

Test

Activate both journeys.

Inject a test contact into the primary journey.

Check the Entry Data Extension for the primary and secondary journeys.

You should see one new record in each.

Launch

Disable debug mode if enabled.
Publish both journeys.
Start sending contacts into the primary journey.

Response Variables

With CloudRelay, response variables transform external API data into actionable personalization inside Marketing Cloud.

They allow you to:

1. Instantly capture values from any API (order status, loyalty points, offer codes, etc.).
2. Use those values to personalize emails, SMS, and push messages in real time.
3. Create dynamic journey paths with Decision Splits that react to live customer data.
4. Store responses directly in Data Extensions for reporting and long-term profiling.
No items found.
No items found.
No items found.
No items found.
No items found.
No items found.

Fallbacks

Add a fallback route to log failures into a monitoring Data Extension.

Add one or two retry attempts if token responses fluctuate in your environment.

Debug notes

Use CloudRelay Debug Mode to inspect the payload and the response.
If the secondary DE stays empty, check:

  • The Event Definition Key
  • The REST subdomain
  • Missing required fields in the Data object

Inside-Journey note

Avoid creating looping triggers.

Add a guard value such as JourneyOrigin = "Primary" to prevent circular flows.

Governance

Do not pass sensitive fields into the secondary journey unless required. Limit the Data object to attributes needed for the flow.

See CloudRelay in action

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla.

FAQs

Here are the answers to some frequently asked questions about our product.

Do I need developer support to build this?

No. CloudRelay handles the REST call and authentication.

Can I send nested JSON?

Can I trigger more than one journey?

Does CloudRelay refresh tokens automatically