Call flows¶
A call flow determines what happens to an inbound call when it reaches an Odoo phone number: who it rings, which menu it plays, and where it goes if nobody answers. The Phone app provides a call flow builder to design call routes as a diagram of nodes.
This documentation covers the configuration required to use call flows, the nodes available in the call flow builder, and the process of designing a call flow.
Configuration¶
Call flows require at least one phone number purchased through the Odoo Phone Service. To purchase a number, go to .
The following resources can be attached to a call flow, and are managed under :
Extensions: Internal numbers used to reach an Odoo Phone user directly.
Time Conditions: Business hour schedules used to route calls differently when the business is open or closed.
Groups: Sets of Odoo users that ring together.
Menus: Interactive voice menus (IVRs) for self-service routing.
Queues: Agent queues that calls wait in until an agent is available.
Voice Mailboxes: Voicemail boxes tied to a user or a queue.
Sounds and Music on Hold: Audio played to the inbound caller.
Tip
These resources do not need to be configured in advance. Every node in the call flow builder can create a related record on the spot.
Design a call flow¶
To create a call flow, go to and click New. Enter a Name for the flow, then complete the following steps:
Add nodes: Click a node in the sidebar, or drag it to the canvas. Select an existing record in the pop-up window, or click Create New to create a new record on the spot.
Connect nodes: Click and drag between the small circles on each node to create connections.
Add ending nodes: Make sure every branch ends with a node that has only one connector (e.g., a Call, Send to Voicemail, or Hang Up node).
Tip
Use the zoom controls in the top corner of the canvas to navigate a large flow:
(Zoom out)
(Fit to content)
(Zoom in)
When the call flow is ready, click the (Save manually) icon, then open the phone number that should use this flow and select the call flow in the Call Flow form field.
Call flow nodes¶
Every call flow starts with a circular green Start node, representing the moment a call comes in.
The following nodes can be added from the sidebar, either by clicking or dragging onto the canvas:
Call a User: Rings a specific user, on their assigned extension or device.
Call a Contact: Rings a phone number stored on a contact record.
Call a Group: Rings every member of a call group at once.
Send to a Queue: Places the caller in an agent queue until an agent is available.
Open a Menu: Plays an interactive voice menu (IVR) that routes the caller based on the keys they press.
Play Audio: Plays an uploaded or text-to-speech-generated audio message.
Send to Voicemail: Forwards the caller directly to a voicemail box.
Redirect to an Extension: Transfers the call to an internal extension number.
Redirect to an External Number: Transfers the call to a number outside Odoo.
Time Condition: Routes the call differently depending on whether it arrives during an Open period or a Closed period.
Hang Up: Ends the call. Displays as a circular red node.
Use the pop-up window that appears to search for and select a related record, or click Create New to add a record without leaving the flow.
For the Redirect to an External Number node, enter a phone number and click Apply.
Troubleshooting¶
No Phone numbers yet¶
When no phone number has been purchased yet, node pop-up windows display the Buy a Number button instead of a list of records. Purchase a phone number using the Odoo Phone Service, then reopen the node.
Time Condition always takes the Closed branch¶
A Time Condition node warns when it has no Open period configured, because every call will default to the Closed period flow regardless of when it arrives. Open the node and add at least one open period to fix this.
A queue or group node still shows old members¶
Nodes refresh after the configuration is saved. If a node still displays outdated members or agents, close and reopen the call flow to force a refresh.