Collect Data is temporarily unavailable for Duo agents. Your agent can ask for information in the conversation, but the structured collection tasks do not run.
Data Types
telli has five built-in data types, each with its own specialized sub-agent:- Behavior Modes
- Validation Constraints
Every task has a behavior setting:
- Auto (default)-The sub-agent runs its built-in collection flow (ask, validate, read back, confirm). Optimized for accurate voice collection; no configuration needed. Best for most use cases.
- Custom Prompt-Additional instructions (max 4,000 characters) appended to the built-in flow. Lets you customize how the agent collects without replacing the core validation. For example, greet the caller by name first, reassure a hesitant caller, or ask them to read a code slowly one digit at a time.
Custom prompts are appended, not a replacement-the core validation and confirmation flow always runs regardless.
Integration & Prompt
- What You Get Back
- When to Use It
- Prompt Patterns
Collected data appears in the Address tasks include
call_ended webhook under collected_data (or null if no tasks were triggered):latitude and longitude when address validation produced coordinates. Other task types omit these fields.Outcomes vs. Collected Data
Workflows-Automating What Happens After the Call
Workflows are telli’s visual automation system: define what happens after a call ends-send a webhook, update your CRM, fire an email, schedule a follow-up-based on collected data and call outcomes. Each workflow is linked to a specific agent and triggers on Call Ended (call data available) or Contact Created (no call data).- Data Available in Workflows
- Example
A
Call Ended workflow can reference everything from the call; values are unwrapped automatically ({{callOutcome.sentiment}} gives "positive" directly):Full Example
Tips and Best Practices
- Use descriptive keys-
customer_emailbeatsemail_2when reading webhook payloads. - Write clear descriptions-They tell the AI when to use each task. “Collect the email when they request an order confirmation” beats “Email collection.”
- Set appropriate constraints-If a code is always 8 characters, set an exact length so partial input is rejected.
- Don’t over-collect-Each task adds a formal ask-validate-confirm flow. Reserve it for data where accuracy and structure matter.
- Test with voice-The flow is optimized for voice; call your agent and dictate data to check it feels natural.
- Use Auto first-Built-in flows are well-tested. Switch to Custom when you need specific adjustments.
- Check the status field-Don’t assume every value is confirmed. Handle
declined,error, andin_progressgracefully.