Your Upfirst AI receptionist can look up a caller in Clio Manage, find the responsible staff on their matter, and transfer the call to that person automatically. No manual lookup, no asking the caller "who's your attorney?"
This guide walks through the full setup: connecting Clio Manage to Upfirst via OAuth, building two custom actions (contact lookup and responsible staff lookup), and creating call transfer rules.
Note: This is for Clio Manage, not Clio Grow. Clio Manage handles practice management for active clients. Clio Grow is for client intake. If you need to send leads to Clio Grow, see the separate Clio Grow guide.
How it works
Two custom actions run during each call:
Contact lookup — The receptionist searches Clio for the caller using the last four digits of their phone number and gets their contact ID.
Responsible staff lookup — The receptionist uses that contact ID to find the caller's matter and pull the responsible staff name.
When the caller asks to speak to their attorney, the receptionist already knows who that is and transfers the call immediately.
How to set it up
1. Create a developer app in Clio
Log into Clio Manage and go to the Developer Portal at https://developers.clio.com/apps. Click Create new app.
Fill in these fields:
App name: Something recognizable, like "Upfirst Integration"
Redirect URI:
https://app.upfirst.ai/oauth/callbackWebsite URL:
https://upfirst.ai/Permissions: Grant read access to contacts and matters at minimum. These are the data types the custom actions need.
After saving, Clio gives you a Client ID and Client Secret. Copy both somewhere safe.
2. Add the OAuth connection in Upfirst
In Upfirst, go to Agent > Custom Actions and click the OAuth Connections tab. Click Add connection.
Fill in the fields:
Connection name: Clio Manage
Provider: Clio
Client ID: Paste from the previous step
Client Secret: Paste from the previous step
Authorization URL:
https://app.clio.com/oauth/authorizeToken URL:
https://app.clio.com/oauth/tokenToken Auth Method: Client Secret Basic
Click Save.
3. Authorize the connection
Click the Connect button next to your new connection. Log into Clio when prompted, then click Allow access on the authorization screen.
You should see a "Connected" status back in Upfirst. Both custom actions will use this connection to authenticate automatically.
4. Build the contact lookup action
Go to Agent > Custom Actions and click Add Custom Action. Select During call.
Action name: Find contact by phone
Instructions: "As soon a call comes in, run this action silently in the background using the caller ID so that if the caller asks to be transferred, you can immediately find who their responsible party is and transfer them."
Click Next, then add a variable:
Name:
last_4Required: Yes
Description: "Take the user's caller ID (the number that they are calling from) and search for their contact in Clio using the last 4 digits of their ID."
Example: 2171
Configure the API request:
Method: GET
Endpoint:
https://app.clio.com/api/v4/contacts.json?query={{last_4}}&fields=id,name,first_name,last_name,type,phone_numbersAuthentication: OAuth, connection set to Clio Manage
No headers or query parameters needed. Click Run test to verify the connection works.
On the response fields page, click Deselect all, then check only data.id. This is the contact ID the second action needs. Save the action.
5. Build the responsible staff lookup action
Create another custom action. Select During call.
Action name: Find responsible staff
Instructions: "After finding a contact in Clio, find the responsible party so that you can transfer the call to the appropriate person."
Add a variable:
Name:
clio_contact_idRequired: Yes
Description: "The value that was returned after looking up a person in Clio."
Example: 2512428500
Configure the API request:
Method: GET
Endpoint:
https://app.clio.com/api/v4/matters?client_id={{clio_contact_id}}&fields=id,display_number,description,responsible_staff{id,name,email,phone_number}Authentication: OAuth, connection set to Clio Manage
Run the test. On the response fields page, deselect all and check only data.responsible_staff.name. Save the action.
6. Set up call transfer rules
Go to Agent > Transfer calls. Click Add transferring rule.
For each responsible staff member at your firm, create a separate rule:
Name: The name of the person receiving the transfer (e.g., "Felix Dubinsky")
When to transfer: "Transfer the call in the following scenarios: After finding a caller's responsible staff in Clio and their responsible staff is Felix Dubinsky."
Message before transfer: Customize what the receptionist says before initiating the transfer
Transfer destination: The responsible staff member's phone number
You can also configure:
Warm vs cold transfer: Warm transfers brief the receiving party before connecting. Cold transfers send the call straight through.
Caller ID display: Show the Upfirst number or the actual caller's number.
Unavailable handling: Send to voicemail or have the receptionist take a message.
Time restrictions: Limit transfers to business hours.
Click Save rule. Repeat for each responsible staff member.
Things to know
This is for Clio Manage, not Clio Grow. They use different APIs and authentication methods.
Phone numbers must match. The last-four-digit lookup only works if your Clio contacts have phone numbers stored in the same format your clients call from.
Multiple matters. If a contact has more than one open matter, the responsible staff from the first returned matter is used. You can add receptionist instructions to ask the caller which matter they're calling about.
One transfer rule per person. Each responsible staff member needs their own call transfer rule with their name and phone number.
OAuth is one-time. Once the connection shows "Connected," both custom actions authenticate automatically. You don't need to manage tokens.
Want help setting this up? Reach out to our support team and we can configure the full integration for you on a video call. You can also send a message through the chat widget in your Upfirst dashboard.










