Connect modules connect_hr

Business app bridge

Connect HR

HR integration for Oduist Connect.

Most Connect bridges start from a contact record. This one starts from the digits: the number on the other end of the call is normalized and compared against every employee’s Work Phone and Work Mobile, and the matching hr.employee is written onto the call. That is what makes internal traffic legible — calls between staff, calls from a colleague’s mobile, calls to a field engineer — without any of it needing a res.partner.

To keep that lookup cheap on every single call event, the module adds stored, indexed normalized copies of the two phone fields to hr.employee and exposes them as search fields. From there the link works both ways: a Calls smart button on the employee form, an Employee notebook page and Unlink action on the call, an optional column on the call list, and — with the core transcription feature enabled — the call summary posted into the employee’s chatter.

Because it reads only the shared connect.call ledger, the module is indifferent to how the call was carried; every provider funnels its events through the same process_call_event() hook that this bridge extends.

What it offers

  • Employee matched by phone number

    This bridge matches on the number, not on a contact record: it takes the other party's number — the caller for an incoming call, the called number for an outgoing one — and looks it up against the employee's Work Phone and Work Mobile, attaching the match to the call's employee field.

  • Indexed normalized phone columns

    hr.employee gains stored, indexed phone_normalized and mobile_normalized fields computed from work_phone and mobile_phone, so the lookup on every call event is an index hit rather than a scan. The lookup tries the +<digits> form first, then the bare digits.

  • Calls smart button on the employee

    The employee form gains connect_calls and a phone-icon smart button carrying connect_calls_count, opening the full call history for that person.

  • Work phone and mobile as search fields

    Both numbers are added to the employee search view, so an unrecognized number on a screen can be resolved to a colleague directly from HR.

  • Employee page and list column

    The call form gets an Employee notebook page with an Unlink action, and the Connect call list gets an optional Employee column right of Partner.

  • Matches written to the debug log

    Every match is recorded in the connect.debug log, which is where you look when a number that should belong to an employee is not being attached.

  • Summaries posted to the employee chatter

    With the core transcription feature and the shared connect.settings.register_summary switch on, the AI summary of the call is posted to the linked employee's chatter.

Scope of the current version

  • Lookup only — there is no create button. Employees come from HR onboarding and are never spawned by a phone call.
  • Matching consults work_phone and mobile_phone and nothing else; an employee whose numbers are blank, or who calls from a private line, will not be matched.
  • Numbers shorter than the internal-extension threshold are skipped, so extension-to-extension calls never link an employee.
  • The match runs only when the call has no employee yet, so a manual assignment stays put — but it also means a wrong automatic match has to be unlinked by hand.
  • An active Oduist Connect HR license is required. The check is silent: without it calls are still recorded, but no employee is linked and no summary is posted.

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