Interested in early access? Reach out to your Customer Success Manager. Inclusion in the alpha is not guaranteed — we're onboarding a limited number of customers during this phase.
API-Triggered Smart Campaigns let you send real-time notifications to opted-in subscribers with a single API call. When something happens in your system — a match starts, a creator goes live, a product is back in stock — one API trigger reaches everyone who subscribed to that topic.
Key difference from other campaign types:
- User-Driven Triggered: 1 user event → 1 user (e.g., cart abandon → reminder).
- API-Triggered: 1 external event → many users (e.g., match starts → all team followers).
How It Works
The Two-Part Setup
API-Triggered Smart Campaigns require coordination between your marketing team (in Optimove) and your technical team (implementing the API).
Part 1: Marketing Team Setup (In Optimove)
- Create Event Generator with Preference Center use case.
- Create Event in Optimove Settings.
- Create Trigger based on the Event.
- Create Template using Activity Tags.
- Create Triggered Campaign.
Part 2: Technical Team Setup (Your System)
- Implement an API call when an event happens.
- Send Event Generator ID + topic + content.
Prerequisites
Before you start, you need:
- Optimove Personalize (formerly Opti-X) Smart Campaigns license.
- Preference Center enabled:
- default opt-out mode
- Preference Center configured for topic-level subscriptions (not per-channel)
- Technical resources to implement API integration.
Step-by-Step Setup Guide
Step 1: Create Event Generator
Navigation: Optimove Personalize → Smart Campaigns → Event Generators → Create New
- Title: Descriptive name (e.g., "Match Start Notifications").
- Select Use Case: API Triggered + Preference Centre.
-
External Template ID: Enter the event key (e.g.,
match_is_about_to_start). This MUST match event in Optimove Settings. - Save Event Generator.
Note: You can keep the Event Generator disabled until your technical team has implemented and tested the API integration. Enabling it before API calls are ready will not trigger any campaigns.
Step 2: Coordinate with Your Technical Team
Before creating anything in Optimove, align with your engineers on the context schema. This is the content sent in the API call, and it will be available to you as event parameters (Activity Tags).
- If all your event types share the same payload schema, you can create one Event Generator for all use cases.
- If they differ, create separate Event Generators—one for each event type and context/event schema.
Context Schema
Agree on the exact field names and types your developers will send. These become Activity Tags in your templates (Step 4).
Example:
{
"context": {
"match_name": "49ers vs Chiefs",
"start_time": "2025-10-12T18:00:00Z",
"venue": "Levi's Stadium",
"url": "https://example.com/watch"
}
}Step 3: Create Event in Optimove Settings
Navigation: Settings → Events → Create New Event
-
Event Name: Same as in External Template ID (e.g.,
match_is_about_to_start). -
Parameters: Add each field from your agreed payload schema. Field names must EXACTLY match the JSON keys.
-
Example: If the payload has match_name, type in the parameter name "match name" and the parameter key should be
match_name.
-
Example: If the payload has match_name, type in the parameter name "match name" and the parameter key should be
Example Configuration:
-
Event Name:
match_is_about_to_start -
Parameters:
-
match_name(string) -
start_time(string) -
venue(string) -
url(string)
-
Step 4: Create Trigger
Navigation: Campaigns → Triggered Campaigns → Triggers → Create New
- Select the event you just created (
match_is_about_to_start). - Configure any additional conditions if needed.
- Save the trigger.
Step 5: Create Template with Activity Tags
Navigation: Campaigns → Templates → Create New
Use Activity Tags to insert dynamic content from the API payload.
For Mobile Push/In-App:
Format: {{event.EVENT_NAME.PARAMETER_NAME}}
Example:
Title: {{event.match_is_about_to_start.match_name}}
Body: Starting at {{event.match_is_about_to_start.start_time}} at {{event.match_is_about_to_start.venue}}
URL: {{event.match_is_about_to_start.url}}
For Email (Triggered Campaigns Only):
Format: [%EVENT:EVENT_NAME:PARAMETER_NAME%]
Example:
Subject: [%EVENT:match_is_about_to_start:match_name%] is about to start!
Body: Join us at [%EVENT:match_is_about_to_start:start_time%]
Step 6: Create Triggered Campaign
Navigation: Campaigns → Triggered Campaigns → Create New
- Select your trigger (from Step 4).
- Select your template (from Step 5).
- Configure:
- Channel (push, email, SMS)
- Frequency capping
- Quiet hours
- Launch campaign.
Technical Team Implements API
Your developer sends:
POST {base_url}/event-generators/{event_generator_id}/run
Headers:
x-api-key: <your-api-key>
x-brand-key: <your-brand-key>
Content-Type: application/json
Body:
{
"topic_key": <your-topic-key>, //e.g. NFL
"context": {
"match_name": "49ers vs Chiefs",
"start_time": "2025-10-12T18:00:00Z",
"venue": "Levi's Stadium",
"url": "https://example.com/watch"
}
}
What happens next:
- Optimove receives the API call.
- Looks up Preference Centre: "Who subscribed to topic NFL?".
- Gets back list of opted-in customer IDs.
- Creates individual user events for each subscriber.
- Trigger fires → Template populated → Campaign sends.
- Results visible in Mission Control.
For Developers: See API-Triggered Campaigns Developer Guide for complete API reference, authentication, error codes, and testing instructions.
Testing
- Go to your Event Generator and enable Test Mode.
- Add test user IDs.
- Have your developer send a test API call.
- Verify:
- Trigger fires
- Template fields populate correctly
- Test users receive notification
Use Case Examples
Sports & Entertainment
Scenario: Match Start Notifications
- User follows Arsenal in your app.
- Opts in to "Match Reminders".
- Arsenal vs Chelsea match scheduled.
- 15 minutes before kickoff, your system sends 1 API call.
- All Arsenal followers who subscribed to reminders get notifications.
Streaming & Gaming
Scenario: Creator Goes Live
- User subscribes to streamer "NickMercs".
- Opts in to "Live Notifications".
- Streamer starts broadcast.
- Your system sends 1 API call.
- All subscribers get "NickMercs is now live!" notification.
Retail & e-commerce
Scenario: Back in Stock Alert
- User adds item to watchlist.
- Opts in to "Price & Availability".
- Item restocked.
- Your system sends 1 API call.
- All watchers get "Your item is back in stock!" notification.
FAQ
Q: How is this different from regular triggered campaigns?
A: Regular triggered campaigns are 1:1 (one user event → one user). API-Triggered Campaigns are 1:many (one external event → thousands of subscribed users via Preference Centre).
Q: Do I need developer help?
A: Yes, one-time setup requires a developer to implement the API call. After that, marketers manage campaigns in Mission Control as usual.
Q: Can I use this for transactional messages?
A: No. API-Triggered Smart Campaigns respect user preferences. For transactional messages (receipts, password resets), use Transactional APIs instead.
Q: Can I send to specific users instead of topics?
A: Audience mode is Preference Centre topics only. Your Target group in a triggered campaign will be applied on top of user selection from the Preference centre.