This article guides you through 3 topics to set-up Twilio as your SMS OTP provider inside the Okta Workforce Identity Cloud (WIC):
- Set-up a Twilio
- Set-up Okta Workflows
- Set-up Okta
The screenshots are showing the Okta Identity Engine (OIE), but this guide will also work with Okta Classic
Set-up Twilio
First start with configuring your messaging service on Twilio:
- Login to Twilio or create a new free trial
- [Phone Numbers → Manage] Buy a phone number (make sure its supporting SMS)
- [Messaging → Services] Create a new messaging service some text
- Usage: Verify users
- Select your purchased phone number
- Defer to sender's webhook
- Add Compliance information if necessary
- Copy your Messaging Service SID
- Go back to https://console.twilio.com and
Copy your Account SID
Copy your Auth Token
Set-up Okta Workflows
Next set up the workflow on Okta Workflows:
- [Connections → New Connection] Add a new API Connectorsome text
- Name: Twilio
- Auth Type: Basic
- Password: Auth Token from Twilio
- Username: Account SID from Twilio

- [Flows → New Flow] Create a new flow and follow this example or import the flow from below

Copy your Invoke URL
- Alternatively download this flowpack: Flowpack
- Import the flowpack
- Edit the flow and change the following values
- Add your Messaging Service SID from Twilio
- Add your Account SID from Twilio
- Choose your created API Connector from above
- Save and enable this Flow
Go to endpoint settings and copy your Invoke URL

Set-up Okta
The last step is to configure Okta to use the Telephony Inline Hook against Okta Workflows:
- Login to your Okta Admin Dashboard
- [Workflow → Inline Hooks] Add a new Inline Hook with the type Telephony
- URL: The Invoke URL from Workflows
- Save and try it out on the tab Preview