Bridging the gap between business tools and telephony makes teams more successful.
Thousands of companies are using integrations between Aircall and their CRM. With all their feedback, we were able to surface what works and what doesn't.
Below we've mapped out the typical user journey for this use case, features that make each step a delight, and how to implement them using our Public API.
Before being able to use an integration, Aircall users need to set it up. The recommended workflow here is OAuth:
→Get started with Aircall OAuthBuilding an app for Aircall users? Learn how the Aircall OAuth flow works!
The OAuth flow can be started either from your app by referring to the
redirect_uri, or better, from the Aircall Dashboard with an
Only Aircall admin users are allowed to install apps on a company's account! More info in our Knowledge Base.
We recommend to automatically set a Webhook on the client's Aircall account once this step is completed. This can be done through our Public API (more on that in step 3).
We open-sourced one of our homemade apps. A real-life example of the OAuth implementation is available on the Weather app page!
2. Phone number selection
Once the OAuth implementation is done, users will be able to install the integration either from your app or from the Aircall Dashboard.
When following this OAuth process, Aircall admins will have to choose the Aircall phone numbers they want to link to the integration:
As a partner, you will only receive Webhook events associated with the phone numbers admins chose. For security reasons, this phone number selection is not available via the Public API.
3. Automatic call logging
Saving call information from Aircall is a key feature for users. The main thing you want when connecting telephony to your system is to remove manual data entry. That's how teams save time and gain productivity while avoiding loss of important information.
a. Retrieving every call
To get call data, you will need to listen to Aircall Webhook events.
→A complete guide to WebhooksTips and tricks on how to empower Webhook events to build the best integration.
Don't forget, you will only receive events related to Aircall phone numbers selected by the user in their Aircall Dashboard.
b. What to log?
You might think you've got this, but we've learned that some information is easily overlooked. For the best call log, we recommend logging:
- Call direction, duration and participants - to know what happened
- Asset link of a call recording - a must
- Notes - agents can take notes in the Aircall Phone, avoid duplicates by logging them
- Tags - if you don't have a dedicated tag field, you can't go wrong with listing Aircall tags as text
All fields available in Webhook call events are described in our API Reference.
c. How to log that information?
The most common events listened to are:
call.createdevent, and match the phone number of the caller with an contact or lead in your system
The following tutorial will guide you through call logging:
→Logging calls in your databaseBest practices to know before storing calls metadata
4. CTI or no CTI?
At this stage, you should have a decent integration! But you can make it better. Ask yourself these questions:
- "Will users make and receive calls from my tool?"
- "Can my tool support an iframe?"
- "Can I easily
If the answers are yes, checkout our Aircall Everywhere SDK on GitHub! It will give you all the keys to embed the Aircall Phone in your product.
5. Caller Insights linking to your tool
Whether you implement the Aircall Everywhere SDK or not, it's always good for users to be able to know who the caller is at glance. That's why we built the Insight Card framework.
Here's an example with weather information pushed in the agent's in-call view:
When a call is created, you can push information to the Aircall phone. You can also add links to the contact page in your tool, for easy access.
You can find a complete guide on Insight Cards in the following tutorial:
→Display Insight Cards to your agentsLearn how to use your own data to give agents context around a customer.
6. Contact, lead and ticket creation
You might be wondering: "what happens if I don't know the caller? How will I log information?"
Our recommendation is to create a new contact or lead if you can't match the number called to an entry in your database.
At Aircall, when a contact can't be matched with an existing entry, we usually create leads or contacts named
Aircall new contact [phone number], which then makes it easy for users to identify and edit if needed.
Note for helpdesks:
If you do live chat or help desk, then you probably have a ticketing system. In this case, creating a contact might be relevant but creating a ticket is the most important.
Automatic ticket creation also opens up a bunch of possibilities for workflows and agent assignment...
Options to toggle this on/off, set conditions under which an entry is created, or route the entry to a user based on a set of criteria are powerful advanced features who can increase agents' productivity a lot!
7. Contact syncing
A 2-way sync contact sync system can be easily built with the Aircall Public API and Webhook contact events.
- Use our Public API contact endpoints when a contact is created, updated, or deleted in your system to apply those changes in Aircall:
- Be notified when contacts are created, updated, or deleted inside Aircall with our Webhook contact events:
An example on how to synchronize Aircall contacts with a web application:
→Synchronize your contacts with your web application (and get more information from Clearbit)Keep your contacts the same everywhere.
8. Data visualization
By subscribing to Aircall Webhook events, you can obtain lots of data on agents' call activity.
If your tool provides Data dashboards, Performance dashboards, or Reports, it'd be a great idea to match both Aircall and your service data to create unique insights in the user journey!
9. Other things to consider
a. Power dialer
Find the Power Dialer API documentation in our API Reference here.
b. Agents synchronization between system
Just like the contact synchronization, users on your system could be invited to Aircall by using the
[POST] /v1/users invite endpoint.
d. Sync agents availability
Agents availability could be synced between Aircall and your database. Every time a user goes online or offline on Aircall,
user.closed Webhook events are triggered!
You can also automatically set agent's availability via the Public API by updating the
availability_status field on a User.
Submit your app
We do hope that this guide helped you understand more all the features available via our Public API!