Business app bridge
Connect Helpdesk
Helpdesk integration for Oduist Connect.
Support work starts on the phone and ends in a ticket, and this bridge automates the step between. When a call ends, configurable rules decide whether it deserves a helpdesk.ticket — by direction, by whether it was answered, and by whether the caller was a known contact at all — and the new ticket is assigned to the person who actually took the call, falling back to a default assignee and team.
Separately from auto-creation, every call is checked against existing open tickets by normalized phone number, so a customer calling back about an ongoing problem lands on the same ticket instead of a new one. When the core transcription feature is enabled, the AI summary of the conversation is written into that ticket’s chatter automatically, which is what makes a call worth linking rather than merely counting. From the call form, a single Ticket button covers both cases: match an existing ticket, or open a pre-filled new one.
It touches connect.call, connect.settings and helpdesk.ticket and nothing else — no provider module is imported — so the same rules apply whether the call arrived over FreeSWITCH, Twilio, Asterisk or several backends at once.
What it offers
-
Tickets created by explicit rule
Separate master toggles for incoming and outgoing calls, each with sub-rules for answered and not-answered calls plus a For Unknown Callers rule that fires when no contact matched. The rules are OR-ed, so a support line can raise tickets for missed calls only, or for everything.
-
Auto-creation waits for hangup
Ticket creation runs in
register_call(), after the call has fully ended, so the answered/missed classification the rules depend on is already final rather than guessed while the phone is still ringing. -
Assignee and team resolved from the call
An incoming call's ticket goes to the PBX user who answered, else the first user it rang, else the Default Assignee; an outgoing call's ticket goes to the caller.
auto_create_tickets_teamsets the team, the ticket name is the partner name falling back to the external number, and an unknown caller's number is kept inpartner_phone. -
Existing open ticket matched by number
Independently of auto-creation,
process_call_event()matches the caller (incoming) or called (outgoing) number againstphone_normalized, trying the+<digits>form and then the bare digits. Only active tickets in a non-folded stage count; if several match, the most recent wins and a warning is logged. -
AI summaries into the ticket chatter
A constraint on the call's
summaryfield posts the OpenAI summary to the linkedhelpdesk.ticketchatter the moment the transcription job completes, so an agent picking up the ticket later reads what was said without opening the recording. -
Ticket button on the call form
One button that first retries the number match and, failing that, opens a new ticket pre-filled with the call's partner and number, linking it on save. Alongside it sit a Helpdesk notebook page with an Unlink action and a
Ticketcolumn shown by default on the call list. -
Calls stat button on the ticket
helpdesk.ticketgains aconnect_callsback-reference with a call-count stat button, an optional Calls column on the ticket list, andpartner_phoneas a search field.
Scope of the current version
- Odoo Enterprise only — the Helpdesk app does not exist in Community, so the module cannot be used there.
- Outgoing calls to local PBX users (
called_pbx_usersset) never auto-create a ticket, so internal calls between colleagues stay out of the queue. - Numbers shorter than the configured minimum extension length are skipped by the matcher, so an extension-to-extension call is never attached to a ticket.
- Leaving both master toggles on but every sub-toggle off means no ticket is ever created — the sub-rules are the whole condition.
- The webhook identity gets a
[(1, '=', 1)]record rule so number lookup reaches tickets across every team. That rule exists for unauthenticated provider callbacks only; never add human users toconnect.group_webhook. - Every runtime hook is gated on an active Oduist Connect Helpdesk license. Without it the automatic behaviours are skipped silently and the Ticket button raises an error.
Installs with full features free for 30 days; buy the license inside the module.