Skip to main content

How to send leads to Clio Grow with Custom Actions

Set up a Custom Action to send caller details and call summaries to your Clio Grow inbox automatically.

Written by Nick Lau

When your Upfirst receptionist finishes a call, it can send the caller's name, phone number, email, and a conversation summary straight to your Clio Grow inbox. No manual data entry. No copying from notifications. The lead just appears in Grow, tagged with "Upfirst" as the source.

This guide walks through setting up a Custom Action that sends lead data to Clio Grow's Inbox Leads API every time a call ends.

Note: This is for Clio Grow, not Clio Manage. Grow uses a simple inbox lead token. There is no OAuth app or Developer Portal involved.

What you need

  • An Upfirst account with Custom Actions enabled

  • A Clio Grow account with access to Settings > Inbox

  • Your Clio Grow inbox lead token (also called the "Lead capture token")

How to set it up

1. Get your Clio Grow inbox lead token

In Clio Grow, go to Settings > Inbox. You will see your inbox sources listed. Each source has its own token. Copy the token and save it somewhere accessible. You will paste it into Upfirst in the next steps.

2. Create a Custom Action in Upfirst

In Upfirst, go to Agent > Custom Actions. Click Add Custom Action.

For the trigger, select When a call ends. This ensures the AI has the full conversation, lead details, and summary ready to send.

3. Configure the request

Set the following:

  • Method: POST

  • Endpoint URL: https://grow.clio.com/inbox_leads

Leave the authorization header empty. The lead capture token goes inside the request body, not in a header.

4. Add custom fields for first and last name (optional)

Clio Grow expects a first name and last name as separate fields. By default, Upfirst captures the caller's full name as one value. You can choose to send the name in the first name field, but if you want to capture and send both, then to split them:

  1. Go to Settings > Custom fields

  2. Click Call fields, then Add field

  3. Create a field named "First name" with the description "Caller's first name"

  4. Click Add field again and create "Last name" with the description "Caller's last name"

This generates custom variables you can use in the request body.

5. Build the request body

Paste the following JSON into the body field:

{
  "inbox_lead_token": "YOUR_ACTUAL_TOKEN_HERE",
  "inbox_lead": {
    "from_first": "{{call.fields.first_name}}",
    "from_last": "{{call.fields.last_name}}",
    "from_email": "{{call.fields.email_address}}",
    "from_phone": "{{caller_id}}",
    "from_message": "{{call.summary}}",
    "from_source": "Upfirst",
    "referring_url": "https://upfirst.ai/"
  }
}

Replace YOUR_ACTUAL_TOKEN_HERE with the actual token you copied from Clio Grow. Type it in directly. Do not use a variable for the token.

6. Test the action

Enter sample values for the fields mapped in your request body, then click the test button.

  • A success response means the connection is working.

  • A 401 error usually means the token is wrong. Confirm you copied it from Settings > Inbox in Clio Grow, and that it is in the body (not a header).

If something is off, try hardcoding test values instead of variables to isolate whether the issue is the token or the field mapping.

7. Confirm in Clio Grow

Go back to Clio Grow and check your inbox. The test lead should appear, tagged with "Upfirst" as the source. From here, every call your receptionist handles will create a lead automatically.

Things to know

  • This is Clio Grow, not Clio Manage. They are separate products. Clio Manage uses OAuth. Clio Grow uses a simple token.

  • The token is a static value. Paste your actual token string into the inbox_lead_token field. Do not wrap it in {{ }} variable brackets.

  • Watch your commas. Make sure there is no trailing comma after the last field in the JSON. A trailing comma will cause Grow to reject the request.

  • The from_source field is set to "Upfirst" so you can filter and identify these leads in your Grow inbox.

  • If you do not need separate first/last names, you can skip the custom fields step and use {{call.fields.name}} for from_first, leaving from_last empty.

Want help setting this up? Reach out to us and we can configure this for you, along with any other Clio integrations you need.

Did this answer your question?