Skip to content
Last updated

On-Demand Journey Execution

On-Demand Journey Execution lets you trigger a batch journey immediately, using the most recently completed segment data, without waiting for a Parent Segment refresh to complete.

By default, a batch journey runs only after its associated Parent Segment refresh finishes. This works well for scheduled daily campaigns but creates delays when you need to act quickly — for example, after updating a segment rule or launching a time-sensitive campaign. On-demand execution removes that dependency.

On-demand execution is available today via the API and the tdx CLI. Treasure AI Studio users can trigger a journey using natural language — see Using Treasure AI Studio below. A Run Now button in the Treasure AI UI is planned for a future release.

When to use it

  • You've updated a segment rule and want the journey to execute immediately
  • You want to run a journey at a specific time, independent of the data refresh schedule
  • You're building an automated pipeline that triggers journeys programmatically

Before you start

Verify the following before triggering an on-demand run:

ConditionWhat to do if it's not met
Journey is active (not paused or draft)Activate the journey from the Treasure AI UI
Journey has been refreshed at least onceRun a full data refresh first
No data refresh is currently runningWait for the refresh to complete, then retry
Journey is not already runningWait for the current execution to finish
Journey is not part of a Priority GroupPriority Group journeys are not supported — see Limitations

How to trigger a run

Using Treasure AI Studio

Treasure AI Studio can trigger a journey on your behalf using natural language. Provide the journey ID or paste the journey's console URL — Studio will resolve the ID and run tdx journey run in the background.

Example prompts:

Run journey 123.
Trigger this journey: https://console.treasuredata.com/app/workflows/journeys/123
Run the Black Friday campaign journey (ID 456) now.

Studio confirms when the journey has started and returns a session ID you can use to monitor progress.

Using the TDX CLI

tdx journey run <journey_id>

Example:

tdx journey run 123

The command confirms the journey has started and returns a session ID:

Journey execution started.

Journey ID:          123
Workflow Session ID: 200
Status:              running

Monitor progress:
  tdx wf sessions 200

The command exits immediately — it does not wait for the journey to finish.

Using the API

POST /entities/journeys/{journeyId}/run

Use the API base URL for your region. See Treasure API Endpoints and Base URLs for the full list.

Include your API key in the request header:

curl -X POST \
  https://api-cdp.treasuredata.com/entities/journeys/123/run \
  -H "Authorization: TD1 <your_api_key>" \
  -H "Content-Type: application/json"

Example response:

{
  "data": {
    "id": "100",
    "type": "execution-journey",
    "attributes": {
      "journeyId": "123",
      "workflowSessionId": "200",
      "createdAt": "2026-05-07T00:00:00+00:00",
      "status": "running"
    }
  }
}

Save the workflowSessionId to monitor the run in the Treasure AI Workflow console.

What to expect

Your audience data is current, but not real-time. The journey uses the data from the last completed Parent Segment refresh. If your refresh runs nightly, an on-demand run at noon uses last night's data. Changes that arrived after the last refresh — new opt-outs, updated profiles — won't be reflected until the next refresh completes.

Segment rule changes take effect immediately. If you've edited a segment rule, that change applies to the next run, including an on-demand run. You don't need to wait for a full data rebuild.

Exception: If you've made structural changes to the Parent Segment configuration — such as adding a new data source, attribute, or behavior definition — those changes require a full refresh before they're reflected in any journey run.

Downstream activations fire normally. Any actions configured to run after the journey completes (emails, exports, CRM updates) will execute just as they would after a scheduled run.

Triggering one version runs all versions. If your journey has multiple versions, triggering the latest version automatically runs older versions in sequence after it completes — the same behavior as a scheduled run.

Error reference

If the run doesn't start, the API returns an error with a reason code:

ErrorWhat it meansWhat to do
PARENT_SEGMENT_RUNNINGA data refresh is currently in progressWait for the refresh to finish, then try again
JOURNEY_WORKFLOW_RUNNINGThe journey is already runningWait for the current run to complete
JOURNEY_NOT_ACTIVEThe journey is paused or in draftActivate the journey in the Treasure AI UI first
PRIORITY_GROUP_JOURNEY_NOT_ELIGIBLEJourney uses Priority GroupsNot supported — see Limitations
NOT_LATEST_VERSIONThe journey ID is an older versionUse the latest version's journey ID
PARENT_SEGMENT_NEVER_REFRESHEDThe audience data has never been builtRun a full data refresh first

Automating on-demand runs

You can trigger on-demand journey runs from a Treasure Workflow using the http> operator. This lets you schedule or chain journey execution entirely within Treasure AI — no external scripts or cron jobs required.

Example: trigger a journey on demand from a workflow

timezone: UTC

schedule:
  daily>: "06:00:00"

+run_journey:
  http>: https://api-cdp.treasuredata.com/entities/journeys/123/run
  method: POST
  content_type: application/json

Store your API key as a workflow secret so it is never hardcoded:

tdx wf secrets --set http.authorization="TD1 your_api_key_here" --project your_project_name

The http.authorization secret is automatically included in every http> request in the project as the Authorization header.

Handling conflicts: If the journey or Parent Segment is already running when the workflow fires, the API returns a 409 error and the workflow attempt fails. Add a retry policy to handle transient conflicts:

+run_journey:
  http>: https://api-cdp.treasuredata.com/entities/journeys/123/run
  method: POST
  content_type: application/json
  _retry: 3

See the Treasure Workflow documentation for full configuration options.

Limitations

  • Priority Group journeys are not supported. Priority Groups require coordinating across multiple journeys during a data refresh — this can't be replicated in a single on-demand run.
  • Structural data changes need a full rebuild first. If you've added new data sources or changed the structure of your Parent Segment, run a full refresh before triggering an on-demand run.
  • No UI button yet. The Run Now button is planned for a future release. For now, use Treasure AI Studio, the CLI, or the API.