CRM and Helpdesk integration, best practices
Building an integration to a system of record or considering one? This guide is for you.

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.

1. Authentication

Before being able to use an integration, Aircall users need to set it up. The recommended workflow here is OAuth:

Get started with Aircall OAuth
Building 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 install_uri.

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:

Phone number selection

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.

Aircall provides a complete list of Webhook events (available here) that can be setup directly via our Public API as described in the following tutorial:

A complete guide to Webhooks
Tips 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:

The following tutorial will guide you through call logging:

Logging calls in your database
Best 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 import Javascript libraries?"

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.

This will make outbound calling much more seamless in combination with the Click to Dial (doc here) and Click to Call (doc here) capabilities offered by the Aircall Public API.

For inbound use cases, you can implement screen-pop: automatically pop the right contact page when a call comes in, when listening to Javascript events sent by Aircall Everywhere SDK (doc here).

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: Insight Card

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 agents
Learn 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.

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

Aircall offers a Power Dialer feature, available via the Public API. You can find more info on how this feature works in our Knowledge Base.

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.opened and 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!

We detailed the publishing process in our Build page. Feel free to reach out to if you have any questions!

We wrote other tutorials to help you out
building awesome integrations

Discover them now