Overview
Before you connect agents to phone numbers, an Organization Admin must configure a phone provider (Twilio or SIP Trunking) in Organization Settings → Voice. See Set up Phone Integrations for Agents. After a provider is in place, Agent Phone Integration lets callers reach an agent by phone and lets automations place outbound calls. Use this order in your app:- Build a voice agent (the agent must exist before a number can be routed to it).
- Configure a phone number in your app — add a phone service under App Details, provision or import the number, and assign the agent.
- Optionally add Initiate Call automations for outbound calls (same process for Twilio and SIP).
Prerequisites
- A phone provider (Twilio or SIP Trunking) configured in Organization Settings → Voice by an Organization Admin — see Set up Phone Integrations for Agents
- An agent in your app, or a plan to create one under Build a voice agent before you assign a phone number
- Optional: an existing number to import (Twilio number, or a number on your SIP trunk) instead of platform provisioning
Build a voice agent
Create and train the agent before you assign a phone number. For general agent creation (instructions, tools, permissions), see Building Agents.- In your app, click Intelligence in the left navigation menu.
- Create or select the agent that will handle phone calls.
- Configure phone-specific behavior:
- Training Instructions: State that this is a phone agent, and keep guidance concise for spoken conversation
- First Message: Custom greeting if you are not using auto-generation on the phone service
- End Call Training: Instructions for how the agent should end conversations
- Click Configure, set Voice Properties (idle messages, timeouts, model, background sound), and click Save. Prefer GPT-4o Mini for low-latency voice unless you need another available model.
Voice Properties
Voice Properties control how the agent behaves during phone calls. They appear in Configure for any agent used with a phone service.Voice Properties only apply when the agent is used through a phone service.
EndConversation tool
Agents have access to an endConversation tool for phone interactions. Train the agent to use it when the caller’s request is resolved so calls close cleanly. You configure tools while you build the agent.Example Training Instructions
- Support issue has been fully resolved
- Caller’s question has been completely answered
- Required information has been collected
- Follow-up actions have been clearly communicated
- Caller confirms satisfaction with the resolution
Configure a phone number in your app
After you have a voice agent and an Organization Admin has configured a phone provider, add a phone service under App Details → Phone Services. Each service is a phone number tied to an agent, with language and caller access options.Provision a phone number
- Open your App in Elementum.
- Click App Details.
- In the Phone Services section, add a new service. Choose how the number is sourced:
- Platform Provisioning
- Use Existing Number
Let Elementum provision a new number through your Twilio integration:
- Start adding a phone service and select provisioning a new number.
- Complete the service fields (see Phone service fields).
Phone service fields
When you add or edit a phone service, set:- Number Type: New number (platform-provisioned) or existing number
- Area Code: Geographic area code when provisioning a new number (where applicable)
- Phone Provider: Your organization’s configured provider (Twilio or SIP Trunking)
- Agent: The agent that handles calls on this service (must already exist)
- Default Language: Primary language for calls on this service
- Additional Supported Languages: Optional extra languages beyond the default. See Supported Languages. Enabling many languages may reduce performance.
Voice agent model
Voice agent model
Select the LLM for the voice agent on the phone service if shown. Options match Voice Properties (GPT-4o Mini and Grok 4 Fast Non-Reasoning). Models use platform-level configuration; custom credentials are not configured here.
Optional: Generate First Message
Optional: Generate First Message
When enabled, the platform generates an initial greeting the agent speaks when a call connects. You can also set a custom first message on the agent instead.
Configure caller access
Control who can interact with your voice agent by setting caller access on each phone service. Open App Details, click Edit next to the phone service you want to configure, and select a Caller Access option:- Open: Any caller can reach the agent (default).
- Known Callers Only: Only callers whose phone number matches a number listed in your organization’s user profiles can connect.
- Known Caller with PIN Verification: Callers must enter a PIN at the beginning of the call. Users set their PIN in User Settings → Security → Phone Authentication PIN. See Phone Authentication PIN.
- Employee ID with OTP Authentication: Any caller can reach the agent without a pre-registered phone number. The caller provides their employee ID, receives a one-time password by email, and speaks or types the OTP to authenticate. See Employee ID with OTP Authentication.
For Known Callers Only and Known Caller with PIN Verification, make sure phone numbers are added to personal user profiles within User Settings. See Profile.
Manage phone services
From App Details → Phone Services:- View services
- Edit a service
- Remove a service
See provisioned numbers, which agent is assigned, service status, and call activity or logs.
Test your phone integration
- Dial your provisioned phone number.
- Confirm the call connects and the agent responds.
- Interact with the agent to verify it follows training instructions.
- Review call logs in your app to confirm data is captured correctly.
Troubleshooting
Call Not Connecting
Call Not Connecting
- Verify the phone provider is active in Set up Phone Integrations for Agents
- Check that the phone number is properly registered on the phone service
- For Twilio, ensure your Twilio account has sufficient credits
- Confirm the app’s Status field is not set to Required — phone calls create records automatically, and a required Status field blocks that creation
Agent Not Responding
Agent Not Responding
- Verify the agent is properly configured and active
- Check that the LLM model is available
- Review training instructions for phone-specific guidance
Poor Call Quality or Latency
Poor Call Quality or Latency
- Reduce Additional Supported Languages if not needed
- Review agent training to keep responses concise and tools fast
- Check Twilio or SIP provider service status
- For SIP, choose a nearer ingress region
- Some locales may require firewall configuration on your network or carrier side
Outbound Call Failures
Outbound Call Failures
- Use E.164 format for destination numbers (for example,
+15551234567), especially for international calls - When reporting problems with international calls, include the locale and destination country
- Confirm the phone service and agent are configured and the provider supports the destination region
Outbound calls and workflows
Use the Initiate Call automation action to place outbound calls from a configured agent and phone service. The same outbound setup applies whether you use Twilio or SIP Trunking.The action is fire-and-forget: the workflow continues without waiting for the call to finish. Use the Agent Conversation Ended trigger in a separate automation to act on outcomes, and prefer post-call automations for heavy processing so the live call stays low latency.
Outbound calling to China is not supported by default. To place China outbound calls, use a China-compliant telephony provider connected through SIP Trunking; that provider relationship is managed entirely by your organization.
How it works
- An automation reaches an Initiate Call action.
- The system starts a phone call to the specified number asynchronously.
- The configured agent handles the conversation while the workflow continues.
- A separate automation with Agent Conversation Ended can process results.
Configure the Initiate Call action
Required:- Action Name — Identifies the action in the workflow
- AI Agent — Agent that conducts the call (must be trained for phone)
- Phone Service — Phone service/number used to place the call
- Phone Number to Call — Recipient number in E.164 format when possible (record field, previous task output, or static value such as
+15551234567) - Default Language — Primary language for the call
- Related Record — Associates the call with a record for context and record keeping
- Additional Context — Instructions for the agent (for example, ticket number or callback reason). Keep this focused; large context increases latency.
Call data and transcripts
When a phone call is received or initiated, a record is created in your app with:- Phone number (caller or recipient)
- Call start time
- Call duration
- Call direction (inbound or outbound)
- Agent assigned to the call
Agent Conversation Ended
Use the Agent Conversation Ended trigger to process outcomes for inbound and outbound calls. The trigger provides the transcript, duration and metadata, call direction, and resolution status. Common follow-ups include posting a summary on the related record, creating tasks, sending notifications, or building call metrics (volume by direction, resolution rates, and similar). For building automations, see Automations.Outbound training tips
Train outbound agents to introduce themselves, state the purpose of the call, confirm they have the right person, then complete the objective. Pass only the context needed for that call, respect time zones and calling hours, and use Agent Conversation Ended for no-answers and follow-ups.Example Outbound Agent Instructions
Supported Languages
Set Default Language on each phone service. Use Additional Supported Languages when you need more than one language on that service.Enabling additional languages can reduce performance; enable only if your use case requires it.
Available Languages
- Arabic
- Chinese (Mandarin) — Simplified and Traditional
- Chinese (Cantonese) — Traditional
- Dutch
- English
- French
- German
- Hindi
- Hungarian
- Indonesian
- Italian
- Japanese
- Korean
- Portuguese
- Russian
- Spanish
- Thai
- Turkish
- Vietnamese
Security and caller authentication
Caller access settings restrict who can interact with your voice agent. Configure these on each phone service in App Details. See Configure caller access.Run As Current User
When an agent is configured with Run As Current User permissions, the agent operates with the same data access and permissions as the caller. For this to work with voice agents, callers must have a phone number added to their personal user profile within User Settings so the platform can identify them.Phone Authentication PIN
Users who call an agent configured with Known Caller with PIN Verification must enter a PIN at the start of the call. To set up a PIN:- Go to User Settings → Security.
- Set a Phone Authentication PIN.
Employee ID with OTP Authentication
Employee ID with OTP Authentication opens a voice agent to any employee calling from any phone, without a pre-registered phone number, using two-factor verification: the caller’s employee ID plus a one-time password (OTP) delivered by email. An admin selects Employee ID w/ OTP as the caller authentication type on the phone service (see Configure caller access). When a caller reaches the agent:- The caller provides their employee ID.
- Elementum emails a one-time password to the address on that employee’s profile.
- The caller speaks or types the OTP to the agent to authenticate.
Data protection and compliance
- Data Protection
- Compliance Considerations
- All phone conversations are processed according to your data retention policies
- Sensitive information handling follows your organization’s security guidelines
- Call content is available as transcripts on the call record; call recordings are not available (see Call data and transcripts)
Best Practices
Agent Training for Phone Interactions
Agent Training for Phone Interactions
- Say it is a phone agent: State in training that the agent is speaking on a phone call
- Be Concise: Keep instructions and spoken responses short; large context and long tool outputs hit limits faster on voice
- Confirm Information: Always repeat back important details
- Use Verbal Cues: Include phrases like “Let me help you with that” or “I understand”
- Provide Clear Next Steps: End calls with specific action items
- Phone-specific training: Keep phone training separate from chat training when the agent is used in both channels
- Use endConversation: Train agents to close calls with the endConversation tool when resolution is complete
Performance and Latency
Performance and Latency
- Prefer GPT-4o Mini for voice unless you need another available model
- Fast tools only: Use tools sparingly during the call and favor low-latency actions
- Post-call processing: Avoid long-running work during the live call; use Agent Conversation Ended
- Single Language: Prefer one language on the phone service unless multilingual support is essential
Monitoring and Costs
Monitoring and Costs
- Regular Review: Check call logs and agent performance regularly
- Update Training: Refine agent training based on call outcomes
- Two cost lines: Telephony (Twilio or SIP) and model/LLM usage are separate
- Provider Management: Monitor your Twilio or SIP provider usage and billing
- Backup Numbers: Consider backup phone numbers for high-availability scenarios