Connect modules connect_project

Business app bridge

Connect Project

Project integration for Oduist Connect.

Project work generates calls, and calls generate work; this bridge keeps them in one place. As a call is recorded, Connect looks for an open task belonging to the caller — open meaning its kanban stage is not folded — and attaches it. Only when there is no such task does it fall back to attaching the partner’s most recent project, which makes it the one Connect bridge with two mutually exclusive targets.

The part that changes day-to-day work is recordings. connect.recording is extended with the same task and project fields, and each recording inherits the link from its call, so a Recorded Calls page on the task and on the project lists the relevant audio with an inline player. On top of that come the usual two-way affordances: a Calls smart button on both models, a Task button on the call that opens the linked task or creates a pre-filled one, a Project notebook page with an Unlink action, and optional Task and Project columns on the call list.

The module reads no provider API at all — it hooks connect.call.process_call_event(), which every Connect backend calls, so the behaviour is identical over FreeSWITCH, Twilio, Telnyx or Asterisk.

What it offers

  • Open task first, project as fallback

    The only Connect bridge with two target models: the lookup takes the partner's most recent task in a non-folded kanban stage and writes it to task, and only if there is no such task does it fall back to the partner's most recent project. A call ends up with one or the other, never both.

  • New task pre-filled from the call

    The Task stat button opens the linked task, or opens a new task form with the caller as customer and a name built from the caller's number. The call id rides in the form context, so project.task.create() back-links the new task onto the call automatically.

  • Recordings inherit the task link

    connect.recording is extended with task and project fields. A new recording takes its call's task, or the call's project when there is no task, so the audio is filed with the work rather than only with the call.

  • Recorded Calls page on task and project

    Both forms gain a Recorded Calls notebook page listing start time, caller and called number with an inline player — the recordings for a piece of work, playable without leaving it.

  • Calls smart button on both models

    project.task and project.project each get connect_calls, the connect_calls_count behind a phone-icon smart button, and read-only partner_phone / partner_mobile related fields.

  • Project page and two list columns

    The call form gets a Project notebook page showing the linked task and project with a single Unlink action, and the call list gets optional Task and Project columns right of Partner.

  • Summaries follow the same precedence

    With the shared connect.settings.register_summary switch on, the AI call summary is posted to the linked task's chatter, or to the project's when the call is linked at project level.

Scope of the current version

  • Matching is by partner, so the core's partner matching must have resolved a partner on the call before either lookup runs.
  • A task counts as open only while its kanban stage is not folded — once it moves to a Done or Cancelled-style stage, new calls fall through to the project instead.
  • The Unlink action on the call clears the task and the project together; there is no way to drop one and keep the other.
  • The bridge never creates tasks automatically. Tasks come from the Task button, which runs with the operator's own Project rights and raises an error when the Oduist Connect Project license is not active.
  • Automatic matching, recording links and summary posting check the license silently — without it calls are still recorded, but nothing is linked.

Installs with full features free for 30 days; buy the license inside the module.