Upfirst is an AI receptionist that connects to MyCase in two ways: through Custom Actions (live API calls during a call, authenticated via OAuth 2.0) and through Zapier (writes to MyCase after the call ends). Inbound calls match to a Contact and Case, and call summaries land on the right record without anyone re-typing them.
Does Upfirst integrate with MyCase?
Yes, with one thing to know up front: MyCase's API requires partner OAuth credentials, which you request directly from MyCase Support. Once they issue your Client ID and Client Secret, two paths are open:
- Custom Actions hit the MyCase API live during a call. Look up Contacts and Cases, post Notes, and create records.
- Zapier handles the post-call work through MyCase's Zapier integration.
The credential request is the only step that takes more than a few minutes. Submit a request to MyCase Support with your redirect URI, and they'll send back the Client ID and Client Secret for the OAuth flow.
What MyCase is
MyCase is legal practice management software built for solo practitioners and small firms. The platform handles Contacts, Cases (matters), time tracking, billing and invoicing, document management, calendar, tasks, and the Client Portal for client communication.
The MyCase user who connects the integration needs the "Manage your firm's preferences, billing, and payment options" permission set to Yes. Without it, the OAuth authorization returns a 403.
What Upfirst can do with MyCase
Identify a returning Contact when the call connects
When a call comes in, Upfirst queries the Contacts endpoint by phone. A match returns the Contact, the Cases they're tied to, and any custom fields. The receptionist greets the caller by name and can reference which Case they're on and who's assigned.
Look up Case status or upcoming events mid-call
When a caller asks "what's happening with my case?", the receptionist pulls the Case detail and any scheduled Calendar Events. It can read back the stage, the next court date, or the paralegal on the case, all without making the caller wait.
Log calls as Notes against the right Case
When the call ends, Upfirst posts a Note to MyCase attached to the Contact and Case. The summary goes in the body, with the transcript and recording link below. Billable calls can write a Time Entry instead, with the duration pulled from the call length and a rate based on the user.
Create a new Contact and Case for intake calls
For new prospects, Upfirst posts a new Contact and then a Case linked to that Contact. Practice area, case type, and lead source come from the call signals. Custom field answers (estimated case value, jurisdiction, urgency) write to the matching custom fields so the firm's existing intake reporting still works.
MyCase API calls Upfirst can make
- GET /contacts filtered by phone, email, or name
- POST /contacts for new client intake
- GET /cases filtered by Contact or by status
- POST /cases tied to a Contact, with practice area and case type
- POST /notes with the call summary and transcript, attached to a Contact or Case
- POST /time_entries for billable call time, with rate and Case attribution
- GET /calendar_events for upcoming court dates and meetings
Setting up the MyCase integration
Custom Actions
- Contact MyCase Support and request partner OAuth credentials. Provide your application's redirect URI. (The redirect URI is critical: MyCase Support sets it, and they can only update it through them later.) You'll get a Client ID and Client Secret back.
- Run the OAuth Authorization Code flow once. Send the user to
https://auth.mycase.com/login_sessions/newwith your Client ID, redirect URI, andresponse_type=code. Capture the returned code and exchange it athttps://auth.mycase.com/tokensfor an access token. - In Upfirst, set up the MyCase OAuth Connection. Then go to Agent > Custom actions and add a new action.
- Pick when it runs: When call starts for the Contact lookup by phone, During call for Case status reads, or After call for Note, Time Entry, or Case creation.
- Set the request. Authorization header:
Bearer YOUR_ACCESS_TOKEN. Reference#{{caller_id}}and any variables you've defined. - Pick which fields the receptionist gets back (Contact name, Case stage, attorney, next event). Test it. Save.
Zapier
- Create a Zap. Trigger: Upfirst > Call Completed.
- Pick a MyCase action: Create Contact, Create Case, Add Note, Create Time Entry.
- Map the call fields to MyCase fields. Practice area and case type matter for routing.
- Add filters so only the right call types create Cases (new intake creates Case; existing client just logs a Note).
- Test and turn the Zap on.
Once partner credentials are issued, a workable MyCase setup looks like this: Contact lookup on call start, optional Case status read mid-call, and either a Note (existing client) or a Case + Time Entry (new intake) on call end. Billing and reporting flow continues without anyone re-keying phone data.
