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:
Go to Settings > Custom fields
Click Call fields, then Add field
Create a field named "First name" with the description "Caller's first name"
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_tokenfield. 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_sourcefield 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}}forfrom_first, leavingfrom_lastempty.
Want help setting this up? Reach out to us and we can configure this for you, along with any other Clio integrations you need.








