Add click-to-call to your CRM
Connect a CRM action to an existing A1PBX extension.
Map the CRM user to an extension
Maintain a server-side mapping between the authenticated CRM user and their authorized A1PBX extension. Do not let the browser choose arbitrary source extensions or caller identities.
Place the request on your server
On an explicit click, validate the destination and call Originate. Keep the A1PBX API key on the server. Return only the information your CRM needs.
curl --fail-with-body --get \
"https://$A1PBX_ACCOUNT_ID.a1routes.com/app/api/7/originate" \
--header "Authorization: Basic $A1PBX_API_KEY" \
--data-urlencode "extension=$EXTENSION" \
--data-urlencode "destination=$DESTINATION"
Prevent duplicate calls
Disable the call action while a request is in flight. A timeout can leave the call outcome unknown, so do not retry automatically. Verify the result before offering another attempt. No idempotency guarantee is asserted by this reference.
Test deliberately
Use an approved test extension and destination. Confirm caller identity, routing, response behavior, and the user experience before enabling this for a team.