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

> ## Agent Instructions
> Use the public API base URL: https://api.teamfollowup.ai/api.
> Authenticate public API requests with Authorization: Bearer YOUR_API_KEY.
> Use product-owned terms: agents, campaigns, projects (GoHighLevel sub-accounts), contacts, calls, outcomes, skills, cadences, phone numbers.
> Scope requests by locationId rather than projectName.
> Read the guide linked from each API reference group before recommending an endpoint.

# How to use TFU Live with any CRM not supported by TFU AI

> Keep your leads in your own CRM. Zapier, Make or n8n sends each new lead to your TFU Live agent, then sends the call results back.

TFU AI connects to GoHighLevel. You can still use any other CRM, such as Zoho
or a Google Sheet. An automation tool like Zapier, Make or n8n moves the data.
It sends each new lead to TFU AI, and your agent calls the lead. After the
call, it writes the summary, the outcome and the transcript back to your CRM.

[Video walkthrough: use TFU Live with any CRM through n8n](https://www.loom.com/embed/2b6d7b91337d40db8665e5ccd991b0c7)

The video uses n8n, with a Google Sheet as the CRM. The steps are the same in
Zapier and Make.

## Before you start

* Your automation tool can start a workflow when a new lead comes into your CRM.
* Your automation tool can send an HTTP request and receive a webhook.
* You have a phone you can answer for the test call.

## Step 1: Create a sub-account without a CRM

The sub-account keeps a copy of each lead, so your agent can call it.

**1. Open the sub-account picker**

Go to [**Sub-Accounts**](https://app.teamfollowup.ai/projects) and click
**Add sub-account**. If you have no sub-accounts yet, the picker opens by
itself. Click **Create one here**.

**2. Name it and set the timezone**

Enter the **Sub-account name** and the **Timezone**. The timezone sets the
calling hours and the calendars. Click **Create sub-account**.

![The Create one here form, with Sub-account name and Timezone filled in, and a Create sub-account button.](https://mintcdn.com/teamfollowupai/Thjcad6CljPbsNdV/images/how-to/crm/create-sub-account-light.png?fit=max\&auto=format\&n=Thjcad6CljPbsNdV\&q=85\&s=45e2376ce0c32f347376a39924cbd358)

The new sub-account shows the TFU AI logo. Ignore **Connect GoHighLevel**. It
is for GoHighLevel users only.

## Step 2: Build your agent

Create a [TFU Live](https://docs.teamfollowup.ai/agents/tfu-live.md) agent in the new sub-account. On
**Home**, you can tell Tars what the agent must do, and Tars builds it.

## Step 3: Call every new contact

**1. Open the triggers**

Open the agent and click **Configure myself**. It opens on **Brain**.
Click **Actions**. Next to **Triggers**, click **Outbound**.

**2. Turn on Contact created**

Tick **Contact created**. You see **Call every new contact?** Click
**Turn it on**, then click **Save triggers**.

![The Outbound trigger settings, with Contact created ticked and a Save triggers button.](https://mintcdn.com/teamfollowupai/Thjcad6CljPbsNdV/images/how-to/crm/outbound-contact-created-light.png?fit=max\&auto=format\&n=Thjcad6CljPbsNdV\&q=85\&s=51b88b773a5ba6f6bce6114fe01a1611)

**3. Go live**

Click **Go live**. If something is missing, such as a calendar or a phone
number, the checklist shows it. Fix each item, then go live. See
[Go live](https://docs.teamfollowup.ai/agents/tfu-live-going-live.md).

## Step 4: Add your custom fields

Do this step only if you send more than the name, the phone and the email.

**1. Open a contact**

Go to **Contacts** and open any contact.

**2. Add the field**

Click **+** next to **Fields**. Enter the **Name**. The video adds a field
called **Reason**. The **Type** is **Text** unless you change it. Click
**Add to every contact**.

![The Add a custom field dialog, with the name Reason and the type Text.](https://mintcdn.com/teamfollowupai/Thjcad6CljPbsNdV/images/how-to/crm/add-custom-field-light.png?fit=max\&auto=format\&n=Thjcad6CljPbsNdV\&q=85\&s=c37d3c09e99dc4c12e885a0f30eb3a88)

Add each field before you send it. A field that does not exist is not saved.

## Step 5: Copy the lead link

**1. Open API and webhook**

On **Contacts**, click the three dots at the top. Then click **API and
webhook**.

**2. Copy the link**

Click **A form, Zapier or Make**. Under **Link for forms, Zapier and
Make**, click **Copy**.

![The Add contacts from outside dialog, with A form, Zapier or Make selected and the link for forms, Zapier and Make shown.](https://mintcdn.com/teamfollowupai/Thjcad6CljPbsNdV/images/how-to/crm/lead-link-light.png?fit=max\&auto=format\&n=Thjcad6CljPbsNdV\&q=85\&s=238956ac0079937d677e20c182994b37)

> [!WARNING]
>
> Anyone with this link can add contacts to the sub-account. Keep it private.
> If it leaks, click **Regenerate link**, then **Make a new link**. The old
> link stops working at once, so put the new one in your workflow straight
> away.

## Step 6: Create an API key

**1. Open API Keys**

Go to **Settings**, then **API Keys**. Click **Create key**.

**2. Choose the permissions**

Enter a **Name**. Under **Permissions**, find **Contacts** and tick
**Write**. Click **Create key**.

![The Create API key dialog, with a name and the Contacts write scope chosen.](https://mintcdn.com/teamfollowupai/Thjcad6CljPbsNdV/images/how-to/crm/create-api-key-light.png?fit=max\&auto=format\&n=Thjcad6CljPbsNdV\&q=85\&s=b4d846aaf0c934ad2f488dd1dd032e15)

**3. Copy the key**

Copy the key before you close the dialog. It is shown only once. If you
lose it, rotate the key or make a new one.

## Step 7: Send new leads to TFU AI

In your automation tool, make a workflow with two steps.

**1. Start on a new lead**

Use your CRM's trigger for a new lead or a new contact. Most CRMs have one
in Zapier, Make and n8n. For a Google Sheet, use the trigger for a new row.

**2. Add an HTTP request**

Search your tool for **HTTP request** and add that step. Set it up like
this:

| Setting | Value |
| - | - |
| Method | `POST` |
| URL | The lead link from Step 5 |
| Authentication | Bearer auth, with the API key from Step 6 as the token |
| Body | JSON, with the fields below |

**3. Turn it on**

Publish or turn on the workflow.

Send these fields in the body. Map each one to the matching field in your CRM.

| Field | What to send |
| - | - |
| `phone` | Required. Include the country code, like `+13125550142`. A ten-digit number is read as North American. |
| `name` | The full name. It is split at the first space. You can send `first_name` and `last_name` instead. |
| `email` | The email address. |
| Your custom fields | The field name from Step 4, like `reason`. |

```json theme={"dark"}
{
  "name": "Ana Diaz",
  "phone": "+13125550142",
  "email": "ana@example.com",
  "reason": "Asked about Invisalign"
}
```

Field names are not case sensitive. A phone number that is already in the
sub-account updates that contact. It does not add the lead twice.

## Step 8: Send the call results back

**1. Start a second workflow**

In your automation tool, make a new workflow. Start it with a webhook
trigger that receives a `POST`. Copy its URL. In n8n, copy the
**Production URL**, not the **Test URL**.

**2. Add the webhook in TFU AI**

Go to **Settings**, then **Webhooks**. Click **Add webhook**. Enter a
name and paste the URL into **Endpoint URL**. Keep `call_ended` ticked.
Under **Projects**, untick **All projects** and choose your sub-account.
Click **Add webhook**.

![The Add webhook dialog, with a name, an endpoint URL, the call\_ended event ticked and one sub-account chosen.](https://mintcdn.com/teamfollowupai/Thjcad6CljPbsNdV/images/how-to/crm/add-webhook-light.png?fit=max\&auto=format\&n=Thjcad6CljPbsNdV\&q=85\&s=430d623ac209bddc4232e148edf4dc0f)

**3. Send a test**

Open the webhook and click **Send test event**. A sample call arrives in
your automation tool. Use it to map the fields.

**4. Update your CRM**

Add a step that updates the lead in your CRM. Find the lead by its phone
number or email, then write the call fields to it.

These are the fields most people write back:

| Field | What it holds |
| - | - |
| `contact.phone`, `contact.email` | Who the call was with. Use them to find the lead in your CRM. |
| `call.summary` | A short summary of the call. |
| `call.transcript` | Everything that was said. |
| `outcome.label` | The call's outcome, such as **Converted**. |
| `call.connected` | `false` when nobody answered. |
| `call.duration_seconds` | How long the call lasted. |

`contact.id` is the contact's id in TFU AI, not in your CRM. Do not use it to
find the lead in your CRM.

## Step 9: Test it end to end

Add a lead to your CRM with your own phone number. Your agent calls you. When
the call ends, the summary and the transcript show in your CRM.

> [!NOTE]
>
> Test calls from the agent builder do not send the webhook. Only real calls
> do. To check the webhook alone, use **Send test event**.

## Troubleshooting

> [accordion] The lead did not get a call
>
> Check that your first workflow ran. Check that the agent is live and that
> **Contact created** is saved. A phone number that is already in the
> sub-account updates that contact, and does not start a new call. To test
> again, delete the contact first, or use a new number.

> [accordion] A custom field is empty
>
> Add the field to the sub-account first, as in Step 4. The response to your
> HTTP request lists the fields it did not save under `ignoredFields`.

> [accordion] The request is refused
>
> A `404` means the link is wrong or was regenerated. Copy it again from
> **API and webhook**. A `400` names the problem, such as a missing `phone`
> or a phone number that cannot be read.

> [accordion] Nothing arrives after a call
>
> Check the URL in **Endpoint URL**. In n8n it must be the
> **Production URL**, and the workflow must be published. Check that your
> sub-account is chosen under **Projects**. Open the webhook to see each
> delivery and its response. A webhook that fails many times in a row is
> turned off. Fix the URL, then click **Re-enable**.

## Next steps

* [Contacts without a CRM](https://docs.teamfollowup.ai/contacts/native-contacts.md): what a contact holds and
  how the lead link works.
* [Get the lead link](https://docs.teamfollowup.ai/api-reference/native-contacts/get-the-lead-link.md): the
  same link over the API.
* [How-to guides](https://docs.teamfollowup.ai/how-to/overview.md): more step-by-step guides.


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