{{firstName}}, {{policyNumber}}, etc.) before the conversation begins.
Prerequisites
Before configuring personalization, define variables in your agent’s conversation flow. Use double-brace syntax anywhere in your prompt:HiYour agent also needs to be attached to a phone number. You can configure this under Phone Numbers in the dashboard.{{firstName}}! I see you have policy{{policyNumber}}. How can I help you today?
Variable names must not contain whitespace. Use camelCase or snake_case.
Personalization Sources
Strada supports four personalization sources. You can configure these under your agent’s Actions tab in the Incoming Call Personalization card.Incoming Webhook
Push customer data to Strada ahead of time via the API. When a call comes in from that phone number, the stored data is used to populate your agent’s variables. This is ideal when you want to hydrate data from your own systems (CRM, policy management, etc.) before the customer calls. Setup:- Navigate to your agent’s Actions tab
- Click Configure on the Incoming Call Personalization card
- Select External Source
- In the source dropdown, choose Incoming Webhook
- Click Save
You can find your API key in the Strada dashboard under Settings > Organizations.
Each push is good for one call. To personalize another call to the same number, push new data.
- Each push should include all the variables you want the agent to have for that call.
- The keys in your
dataobject must exactly match the{{variable}}names in your agent’s prompt. - Values can be any type (strings, numbers, booleans, etc.).
+155512345675551234567(555) 123-45671-555-123-4567
Custom URL
Strada sends a POST request to your server when a call comes in. Your server responds with the variable values to use for the call. This is useful when you want to fetch data in real time rather than pushing it ahead of time. Setup:- Navigate to your agent’s Actions tab
- Click Configure on the Incoming Call Personalization card
- Select External Source
- In the source dropdown, choose Custom URL
- Enter your server URL
- Optionally add a secret (sent as the
X-Strada-Secretheader) and any additional request headers - Click Save
agentVariables key (recommended) or as the top-level response body:
Your server must respond within 5 seconds. If the request times out or fails, the agent proceeds without
personalization data.
REST Connection
Similar to Custom URL, but uses a pre-configured REST connection from your Apps settings. This is useful if you already have a REST API connection set up with authentication. Setup:- Navigate to your agent’s Actions tab
- Click Configure on the Incoming Call Personalization card
- Select External Source
- In the source dropdown, choose your REST connection
- Optionally specify a path to append to the connection’s base URL (e.g.,
/incoming-call) - Click Save
Your endpoint must respond within 5 seconds. If the request times out or fails, the agent proceeds
without personalization data.
Outbound Campaign
Automatically uses data from your outbound campaigns when a caller’s phone number matches a contact. No API integration or additional configuration is needed. This is useful when you run outbound campaigns and want to personalize the experience if those contacts call you back. Setup:- Navigate to your agent’s Actions tab
- Click Configure on the Incoming Call Personalization card
- Select Outbound Campaign
- Click Save
The caller’s phone number must match a contact in one of your completed outbound campaigns. If no match is
found, the agent proceeds without personalization data.
Pre-Call Workflow
Run a Strada workflow before the call begins. This gives you the most flexibility: you can make API calls, transform data, apply logic, or even block or transfer the call before it reaches the agent. Setup:- Create an inbound pre-call workflow under Pre-Call Workflows in the dashboard
- Navigate to your agent’s Actions tab
- Click Configure on the Incoming Call Personalization card
- Select Pre-Call Workflow
- Choose your workflow from the dropdown
- Click Save
- Update variables: Enrich or transform data before the call starts
- Block the call: Reject the call with a reason (e.g., known spam number)
- Transfer the call: Route the call to a different phone number
- Handoff: Route the call to a different Strada agent
Choosing a Source
| Source | Best for | Data timing | Requires code |
|---|---|---|---|
| Incoming Webhook | Hydrating data ahead of time from your systems | Before the call | Yes (API call) |
| Custom URL | Real-time data lookup from your server | At call time | Yes (HTTP server) |
| REST Connection | Real-time lookup using a pre-configured connection | At call time | Yes (HTTP server) |
| Outbound Campaign | Personalizing callbacks from campaign contacts | Campaign creation | No |
| Pre-Call Workflow | Complex logic, conditional routing, or blocking | At call time | No (visual builder) |
Only one personalization source can be active at a time per agent. If no data is found for the caller’s
phone number, the agent proceeds normally without variable values.