The telephony connector links Portail ZAPP to the company's telephony provider: Ringover, Aircall, 3CX (V20) or Teams Phone. Only one provider is active at a time. The screen is for administrators; the Telephony entry is in the Administration › Connectors and automation menu.
Without the connector, nothing breaks: numbers stay links that open each person's calling app. The connector adds, in the CRM, click-to-call, the caller record on incoming calls and the automatic call log (see Telephony in the CRM documentation).
Prepare the credentials
Keys and secrets are never typed into this screen: store them in the secrets vault first, then choose their name.
| Provider | What you need |
|---|---|
| Ringover | an API key (Dashboard › Developers) with Calls and Users rights; the region (Europe or United States) |
| Aircall | the API ID and API token (Integrations › API keys); the webhook token, shown by Aircall when you create the webhook |
| 3CX | the PBX HTTPS address, the client ID and secret of a "Call Control API" application (Integrations › API) |
| Teams Phone | an Entra ID application: tenant ID, client ID, client secret, and the Microsoft Graph CallRecords.Read.All permission of type Application, with admin consent |
Also choose the default country: it is used for numbers entered without a country code.
Declare the webhook
Once saved, the Connection box shows the webhook address. Declare it at the provider:
- Ringover: call webhooks (ringing, answered, hung up, missed);
- Aircall: a webhook on call events (
call.created,call.ringing_on_agent,call.answered,call.ended,call.voicemail_left); - 3CX: the server-side CRM integration. Contact lookup calls the address with
event=lookup&number=[Number]&agent=[Agent]; call journaling sendsevent=journal,number,agent,type([CallType]),start([DateTime]) andduration([Duration]).
Teams Phone uses no webhook: ended calls are collected automatically every five minutes.
The address contains a secret token: only give it to the provider. Regenerate the address creates a new one, and the old one stops working at once.
Test the connection checks the credentials with the provider.
Map the users
In User mapping, map each account to its identity at the provider:
- Ringover: their
user_idand their Ringover number, the one that rings for click-to-call; - Aircall: their Aircall user ID;
- 3CX: their extension number;
- Teams Phone: the Object ID of their Entra ID account.
Without a mapping, a person has no click-to-call and their calls are not logged.
A line number is mapped to one account only. A shared number (switchboard) identifies no one: its calls stay in the technical log but are assigned to no salesperson.
What each provider supports
| Click-to-call | Record while ringing | Call log | Transcript | |
|---|---|---|---|---|
| Ringover | yes | yes | yes | yes (if the call is recorded and AI is enabled) |
| Aircall | yes | yes | yes | yes (if the call is recorded and AI is enabled) |
| 3CX | yes | yes | yes | no |
| Teams Phone | no (tel: link) |
no | yes, after the call ends | no |
Data kept
The connector keeps a technical log of calls (to recognise a repeated delivery) for 30 days by default (1 to 365 days). The calls themselves are kept in the CRM, as activities.