Send Timely SMS in Adobe Journey Optimizer Using Twilio Programmable Messaging
Time to read:
In this post, you’ll learn how to integrate Twilio Programmable Messaging with Adobe Journey Optimizer to deliver personalized, timely SMS notifications within your customer journeys. By combining Twilio’s communications platform with Adobe’s advanced customer journey orchestration, you can engage customers in real time, increase campaign effectiveness, and create a seamless cross-channel experience. And in a second, I’ll show you how!
Prerequisites
Before you begin, make sure you have:
- A Twilio account. If you haven’t registered yet, sign up here.
- A purchased Twilio number on your account that is capable of sending messages
- Any compliance steps completed (i.e., registered for 10DLC, toll free verified, or short code)
- Adobe Journey Optimizer access with permission to configure Journeys and custom actions
- Basic familiarity with REST APIs and JSON payloads
- A phone number – for example, your cell phone – that you can send messages to for testing
Building the Integration
We’ll create a Twilio messaging workflow that Adobe Journey Optimizer can call as part of a Journey. This involves configuring a Twilio Messaging Service and adding a Custom Action in Adobe Journey Optimizer.
Step 1: Set up your Twilio Messaging Service
A Twilio Messaging Service lets you manage one or more phone numbers and apply sending features around compliance. Here’s how to set one up:
- Log in to the Twilio Console and navigate to Messaging → Services.
- Click Create Messaging Service.
- Give your service a descriptive name (e.g.,
Adobe Journey Optimizer SMS). - Choose Transactional as the use case if you’ll be sending notifications, reminders, or updates.
- Under Sender Pool, click Add Senders and select one or more Twilio phone numbers, toll-free numbers, short codes, or alphanumeric sender IDs.
- (Optional) Enable features like Sticky Sender (to keep conversations consistent on one number) or Smart Encoding (to avoid delivery issues with special characters).
- Save your Messaging Service.
Once created, you’ll see a Messaging Service SID (starts with MG). Write this down for later.
Step 2: Prepare Adobe Journey Optimizer Customer Profile
Adobe Journey Optimizer sends messages to profiles stores in its Customer Profiles service.
To update a profile from a pre-existing schema:
- Go to Adobe Experience Cloud→ Experience Platform → Workflows → Map CSV to XDM Schema
- Select or create your schema (e.g.,
Owl Shoes Customers) - Upload your CSV file containing customer attributes (including phone number)
- Once processed, go to Profiles -> Overview or Profiles -> Details to verify your new profiles
Here is a sample CSV file you can modify.
To check that your profile was added after 24 hours:
- Go to Profiles → Browse → Identity Namespace → Email → Search for email you used in sample customer profile
If your profile was added successfully, you should be able to find it!
Step 3: Create Adobe Journey Optimizer Audience
For the purpose of this testing, you can create an audience that includes all the profiles you just uploaded. In a real life scenario, you would create an audience based on a certain criteria, for example: upcoming birthday, Gold members only, people who have abandoned their cart, etc.
To create an audience:
- Go to Audiences → Create Audience
Step 4: Create an API credential in AJO for Twilio
Start by opening your Twilio Console in a browser tab. There you will find your Twilio Account SID and Auth Token. You’ll need them in a second, along with the Messaging Service SID you saved earlier.
Then, to allow AJO to send SMS through Twilio:
- Go to Adobe Journey Optimizer → Channels → API Credentials → Create API Credentials
- Enter the following details:
- SMS Vendor: Twilio
- Name: Any descriptive name (i.e.,
Twilio SMS) - Account SID: Your Twilio Account SID
- Message SID: Your Twilio Messaging Service SID1
- Auth Token: Your Twilio Auth Token
- Name: Any descriptive name (i.e.,
1 The number that will be used within the Messaging Service to actually send the message will be the number in the channel configuration.
Step 5: Create an SMS channel configuration in AJO
- Go to Channels -> Channel Configurations
- Click Create Channel Configuration
- Select SMS and choose the API credential you created in Step 3
- Set the Sender Number to your Twilio number (Alpha Sender ID, Toll-free, 10DLC, or short code)
Important: Do not select a Messaging Service here as AJO requires a direct number - Set To number to
mobile.Phone.number(map your uploaded CSV’s phone number to this attribute)
Step 6: Orchestrate SMS through AJO Campaigns or Journeys
In this step, we’ll trigger Adobe Journey Optimizer to send a message either through a Campaign or a Journey.
Campaigns
- Go to Campaigns -> Create Campaign
- Add your audience. (See below for an example audience criteria)
- In Actions -> Create Content, choose the SMS channel configuration you created earlier
- Activate the campaign
Example Audience Criteria:
- Any profile with
CustomerIDpopulated - Any profile on the waitlist
- Anyone with an upcoming birthday
Journeys
- Go to Journeys -> Create Journey
- Add your audience and entry criteria
- Add an SMS Action and select your SMS channel configuration
Okay, perfect! You’ve now gone through all the steps you’ll need to integrate Twilio with AJO. In the next step, I’ll show you how to test your setup (and give some hints on how you might need to debug).
Testing, troubleshooting, or product demonstration
Quick test (end-to-end):
- Create a tiny audience of 1–3 internal profiles (use your own number first). Remember, an audience takes 24 hours to refresh - so if you don’t see your audience refresh, please wait!
- Launch a Campaign with your SMS channel configuration and a simple message (e.g.,
Test: {{profile.firstName}}).
Voila! Now, if everything world, you should see a message on your cell phone! You can confirm delivery in Twilio: Console → Monitor → Logs → Messaging (check Message SID, status, to, from).
Monitoring and analytics
Once your integration is running, you can use Twilio Messaging Insights to monitor performance in real time.
From the Twilio Console, navigate to Monitor -> Messaging Insights to use dashboards for:
- Delivery performance: See sent, delivered, and failed message count
- Engagement trends: Track message volumes and response rates over time
- Error diagnosis: Identify carrier or compliance issues
This dashboard helps you quickly detect errors, validate message delivery, and optimize your AJO journeys. Here’s a screenshot of what Messaging Insights will look like once you get it set up:
Conclusion
Congrats! You just connected Adobe Journey Optimizer to Twilio Programmable SMS to trigger timely, personalized texts directly from your customer journeys. You set up a Twilio Messaging Service and a dedicated SMS Channel Configuration in AJO, mapped profile data, and orchestrated sends via Campaigns or Journeys.
More resources
Mellisa Udhayananondh is a Solutions Architect at Twilio, helping enterprise customers build human-centered communication experiences. She’s passionate about making complex technology simple and practical - and about dogs, well-documented APIs, and exploring the trails and coastlines of the Pacific Northwest. She can be reached at mudhayananondh [at] twilio.com
Related Posts
Related Resources
Twilio Docs
From APIs to SDKs to sample apps
API reference documentation, SDKs, helper libraries, quickstarts, and tutorials for your language and platform.
Resource Center
The latest ebooks, industry reports, and webinars
Learn from customer engagement experts to improve your own communication.
Ahoy
Twilio's developer community hub
Best practices, code samples, and inspiration to build communications and digital engagement experiences.