> ## Documentation Index
> Fetch the complete documentation index at: https://help.withallo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Twenty

> Connect Twenty Cloud or a self-hosted Twenty CRM to Allo, sync your people and companies, and log every call and SMS as a note on the person and the company

Allo logs every call as a note on the matching Twenty person and on the person's company, and groups each day's SMS with a person into one note. Your Twenty people and companies sync into Allo every 5 minutes. The integration works with Twenty Cloud and with self-hosted Twenty.

## How to connect

The Twenty integration connects with a Twenty API key. For a self-hosted instance, you also enter the instance address in the same form. You need an Allo admin or manager to connect the integration.

### Get your Twenty API key

**1. Open the developer settings**

In Twenty, go to **Settings** > **Developers** > **API** and click **+ Create key**.

**2. Name the API key**

Name the API key (for example **Allo**) and pick the longest expiration Twenty offers. Allo stops syncing when the API key expires.

**3. Keep the default role**

Leave the API key on the default admin role, so Allo can read your people and companies and write notes.

**4. Copy the API key**

Copy the API key right away. Twenty shows the API key only once.

### Connect in Allo

The same form connects Twenty Cloud and self-hosted Twenty: fill the instance address only if you run your own Twenty server.

**1. Open integrations**

Go to [**web.withallo.com**](https://web.withallo.com) and navigate to **Settings** > **Integrations**.

**2. Find Twenty**

Find **Twenty** in the list and click **Connect**.

**3. Paste your API key**

Paste the API key you copied from Twenty.

**4. Self-hosted only: enter the instance address**

If your workspace is hosted by Twenty, at `app.twenty.com`, leave **Self-hosted instance address** empty and go to the next step.

If your company runs its own Twenty server, enter only the host name of your instance, for example `crm.yourcompany.com`. Leave out `https://`, any path after the host and any port.

> [!WARNING]
>
> Allo reaches a self-hosted instance over the internet. The instance must be public and answer over HTTPS on port 443. Allo cannot connect to `localhost`, to an IP address, to a custom port such as `:3000`, or to an instance only reachable on a private network or VPN. Run a recent version of Twenty.

**5. Save and connect**

Click **Save & Connect**. Allo imports your Twenty people and companies.

## What syncs

**From Twenty to Allo:**

* People, with their first and last name, primary email, every phone number (primary and additional), job title, company name, company website, and a link to the person in Twenty
* Companies, with their name, website, address and account owner, and a link to the company in Twenty

Twenty people have no owner. Allo uses the **Account owner** of the person's company as the owner of the contact.

**From Allo to Twenty:**

* Calls and SMS, logged as notes on the matching person and on the person's company
* New people, only when **Create lead for unknown calls** is enabled. Allo creates the person with the name, email, phone number and job title known in Allo.

Allo only fills in empty fields on an existing person and adds emails and phone numbers the person doesn't have yet. Allo never overwrites what is already set in Twenty.

People and companies sync every 5 minutes, only the records that changed. Opportunities are not synced. Deleting a person or a company in Twenty does not remove the contact from Allo. People without a phone number are not synced to Allo.

When a call comes in or goes out, Allo finds the Twenty person by any of the person's phone numbers, primary or additional.

## How calls are synced

After each call, Allo creates a **Note** in Twenty, attached to the matching person and to the person's company when there is one. The note shows in the **Notes** tab and the timeline of both records. The note is dated to when the call happened, not to when Allo sent it.

The note title shows the direction, the result, the Allo user and the duration, for example `Allo Inbound Call - Answered - Jane Doe (5:12)`. The note contains:

* Who called whom and on which Allo line
* The call duration
* The call tags
* The call summary
* A **Listen in Allo** link to the call in Allo

The call transcript is not added to the note.

When you edit a call's summary, tags or result in Allo, Allo updates the same note in Twenty.

Twenty shows the API key as the author of the note, because Twenty does not let an integration set the author. The name of the Allo user is in the note title.

## How SMS are synced

Allo groups SMS into one note per person per day, titled for example `Text Message - Jane Whitaker - 9 Nov 2026`. Each message is added to that day's note with its time, its direction and the Allo user. The note is attached to the person and to the person's company.

## Click-to-call

Click on any phone number in Twenty to open the call directly in the Allo app. The Allo app must be installed on your device.

## Troubleshooting

Check the sync status of any call from the **call list on [web.withallo.com](https://web.withallo.com)**. Each call has an integration indicator showing its sync state.

> [accordion] I cannot connect my integration
>
> Only **admins** and **managers** of an Allo workspace can connect integrations. If you don't see the option, ask your workspace admin or manager to set it up.
>
> On the Twenty side, check these points:
>
> * **API key**: paste the full API key, and check it has not expired or been deleted in Twenty.
> * **Wrong address format (self-hosted)**: enter only the host, such as `crm.yourcompany.com`. Remove `https://`, any path such as `/settings` and any port such as `:3000`.
> * **Instance not reachable (self-hosted)**: the instance must be public and answer over HTTPS on port 443. Check that your firewall lets Allo's integration platform reach the instance. An IP address, `localhost` or an instance behind a VPN cannot connect.
> * **Old Twenty version (self-hosted)**: update your instance to a recent version of Twenty, then connect again.

> [accordion] Call not synced to my integration
>
> Check the integration indicator on the call in the web app. The error will be one of these:
>
> * **Contact not found**: the contact doesn't exist in your CRM. By default, Allo only syncs calls to existing contacts. To auto-create contacts, go to your integration settings and enable **Create lead for unknown calls**.
> * **Contact deleted**: the contact was removed from your CRM. Allo is additive and won't sync calls for deleted contacts. Re-create the contact in your CRM, then retry the sync.
> * **Integration disconnected**: the Twenty API key expired or was deleted. Allo still appears connected but requests fail. Create a new API key in Twenty, then disconnect and reconnect the integration in Allo with the new API key.
> * **Call pending (spinner icon)**: Allo is still matching the contact. This can take up to 24 hours before being marked as an error. Once the contact exists in your CRM, you can retry manually.
> * **Contact is a favorite**: by default, calls with a favorite contact are not synced to your CRM. Remove the contact from your favorites if you want these calls to sync.

> [accordion] Contacts not syncing
>
> The first sync can take up to **15 minutes** for large contact databases. After that, people and companies sync incrementally every **5 minutes**, not in real time.
>
> Twenty limits how many requests an integration can make: 50 requests per minute on the Twenty Cloud Pro plan and 100 on the Organization plan. On a large workspace, the first sync waits for this limit and retries, so it can take a few extra minutes.
>
> Allo only syncs people that have at least one phone number. People without a phone number will not appear in Allo.
>
> If contacts still don't appear after 15 minutes, disconnect and reconnect the integration.

> [accordion] SMS not synced
>
> SMS are added to one note per person per day. Look for the `Text Message` note dated the day of the SMS on the person in Twenty.
>
> If the note is missing, verify the integration is connected in **Settings** > **Integrations** and check the integration indicator on the call list at [web.withallo.com](https://web.withallo.com) for error details. If SMS still don't appear, disconnect and reconnect the integration.

> [accordion] Duplicate contacts
>
> Allo mirrors your integration exactly. If your CRM has duplicate contacts with the same phone number, they appear as separate contacts in Allo.
>
> Clean up duplicates in your CRM. Allo will reflect the change on the next sync.

> [accordion] Call synced to the wrong contact
>
> When multiple contacts share the same phone number, Allo logs the call on the first matching contact. Before reporting a missing sync, check all contacts that share that phone number: the call may already be synced to another one. Click the integration indicator on any call in the web app to see exactly which contact it was synced to.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.