Upfirst is an AI receptionist that connects to Filevine in two ways: through Custom Actions (live REST API v2 calls during a call) and through Zapier (writes to Filevine after the call ends). Inbound calls land in the right Project, intake calls create new Projects, and call summaries write to the right Section or Note without anyone touching the case file.
Does Upfirst integrate with Filevine?
Yes. Filevine has a more involved setup than the other legal integrations because its API gateway needs a few authentication steps up front:
- Custom Actions hit
https://api.filevineapp.com/fv-app/v2(US) orapi.filevineappca.com(Canada) with a bearer token from Filevine's identity gateway. The receptionist can query Persons, Projects, Contacts, and Notes during a call. - Zapier handles post-call automation for the workflows that don't need to fire while the caller is still on the line.
Filevine's auth involves a Personal Access Token, a Client ID and Secret, a bearer token exchange at identity.filevine.com/connect/token, and User ID and Org ID headers on every request. Upfirst's OAuth Connection handles the token rotation once the static credentials are stored.
What Filevine is
Filevine is the case management platform built primarily for plaintiff personal injury, mass tort, and high-volume litigation firms. The object model is project-based: every Matter is a Project, and Projects have configurable Sections (intake, medicals, demands, litigation, settlement) that act like custom record types. Persons and Contacts attach to Projects.
Litigation firms running hundreds or thousands of open Projects use Filevine to standardize case management across paralegals and attorneys. Inbound phone calls hit the same Persons and Projects the case team works in. The integration keeps those calls tied to the right Project automatically.
What Upfirst can do with Filevine
Match the caller to a Person and the Projects they're on
When a call comes in, Upfirst hits the Persons endpoint filtered by the inbound phone number. The matching Person comes back with the Projects they're connected to. The receptionist greets the caller by name, identifies which Project they're calling about (if there's only one), or asks to confirm if multiple Projects are active.
Read Project Section data mid-call
Filevine's defining feature is its Section model: a Project's medicals, demands, settlement breakdown, or any other firm-defined Section is structured data the API can query. When a caller asks "what's the demand status on my case?", the receptionist pulls the Demands Section for that Project and reads back the relevant fields. Same pattern for medical bills totaled, treatment timeline, settlement amount, or any field the firm tracks.
Create a new Project for intake calls
For new prospects, Upfirst creates the Person, the Project, and the intake Section's initial fields. The Project Type (auto, slip-and-fall, med-mal, mass tort), date of incident, jurisdiction, and intake answers populate from the call. The summary and transcript drop in as a Note on the Project. The intake paralegal sees the new Project on their dashboard ready for the next step.
Update Section fields and add Notes from call signals
Mid-call or after, Upfirst can write to specific Section fields. A returning client mentioning a new medical provider can trigger a Custom Action that appends to the Medicals Section. A status-check call can add a timestamped Note to the Project. The case file stays current without anyone typing it up.
Filevine API calls Upfirst can make
- GET /core/persons filtered by phone or email
- GET /core/projects filtered by Person or by status
- POST /core/projects to create a new Project (with Project Type and intake Section)
- GET /core/projects/{projectId}/sections/{sectionSelector} to read structured Section data
- POST /core/projects/{projectId}/sections/{sectionSelector} to write or update Section field values
- POST /core/notes tied to a Project, with the call summary and transcript
- POST /core/contacts for non-Person Contacts (referring providers, insurance carriers)
Setting up the Filevine integration
Custom Actions
- In the Filevine Account Manager, request a Client ID and Client Secret (Access Tokens > Client Secrets > Higher API access). Fill out the form. Filevine emails the credentials.
- Create a Service Account user in Filevine (Main Menu > Advanced > Service Accounts). This is the user the integration acts as.
- Generate a Personal Access Token (PAT) for the service account in Account Manager > Access Tokens > Personal Access Tokens. Save the PAT.
- Exchange the PAT for a bearer token by POSTing to
https://identity.filevine.com/connect/tokenwithgrant_type=personal_access_token, your Client ID, Client Secret, the PAT, and the scope stringfv.api.gateway.access tenant filevine.v2.api.* openid email fv.auth.tenant.read. - Make one initial call to
POST https://api.filevineapp.com/fv-app/v2/utils/GetUserOrgsWithTokenwith the bearer token to get the User ID and Org ID. Both go into every subsequent request as headers. - In Upfirst, store the bearer credentials and create a Custom Action under Agent > Custom actions. Pick the trigger: When call starts for the Persons lookup, During call for Section reads, or After call for Project, Section, or Note writes.
- Set the request. Example:
GET https://api.filevineapp.com/fv-app/v2/core/persons?phone=#{{caller_id}}. Authorization header:Bearer ACCESS_TOKEN. Addx-fv-useridandx-fv-orgidheaders with the values from step 5. - Pick which fields the receptionist gets back (Person name, Project IDs, Project Type, status). Test it. Save.
Zapier
- Create a Zap. Trigger: Upfirst > Call Completed.
- Pick a Filevine action: Create Project, Create Note, Update Section.
- Map the call fields to Filevine fields. Project Type and the initial Section selector matter for intake routing.
- Add filters so only the right call types create Projects.
- Test with a real call. Turn the Zap on.
A practical Filevine setup for a plaintiff firm: Persons lookup on call start, intake Section read mid-call (so the receptionist can answer "what stage am I at?"), and a Note plus optional Section update on call end. New intake calls create a full Project; existing-client calls just log a Note. The case team's existing dashboards and reports pick it up without changes.
