Filevine Integration Guide

Complete guide to integrating with Filevine v2 API through LawLink.ai

🔗 Filevine Platform
🚀

Integration Steps

Follow these steps to integrate your application with Filevine through LawLink.ai.

Create Organization Admin & Login

First, a Superuser or Admin creates an Organization Admin (ORG_ADMIN) account for your law firm. The ORG_ADMIN will manage attorneys and API tokens for the organization.

💡 Tip: Login to LawLink at https://app.lawlink.ai using your ORG_ADMIN credentials.

Create API Access Token

Navigate to API Tokens page and create a new API access token for integration. Set an appropriate expiration period (e.g., 1 year). Copy the token immediately — it's only shown once!

⚠️ Important: Store your API token securely. It grants access to your organization's integrations.

Obtain Filevine PAT

In Filevine, navigate to your user settings and generate a Personal Access Token (PAT). Ensure your user has the necessary permissions in Filevine to manage projects and contacts.

📋 Permissions: Your Filevine user must have 'Admin' or 'API' access to the relevant organizations.

🔐

Authentication

Connect Filevine via PAT

Navigate to the Integrations or Connected Platforms page in LawLink. Select Filevine and enter your PAT. LawLink will securely encrypt your PAT and exchange it for a session token.

🔐 OAuth Alternative: LawLink handles the transition between PAT and session-based tokens automatically, ensuring long-lived connectivity.

📡

API Usage

Call APIs with Token & Headers

Use your LawLink API token in the Authorization header. Filevine-specific session headers like x-fv-orgid and x-fv-userid are handled automatically by the LawLink backend.

API Request Structure

Authorization: Bearer YOUR_ACCESS_TOKEN Content-Type: application/json # Optional Parameter (for ORG_ADMIN tokens) attorney_email=attorney@lawfirm.com

Example: Get Projects

# List projects for the connected organization curl -X GET \ "https://app.lawlink.ai/api/v1/filevine/projects" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json"

Example: Create Task

# Create a new task in a project feed curl -X POST \ "https://app.lawlink.ai/api/v1/filevine/tasks" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "ProjectId": { "Native": 266356 }, "Subject": "Review Evidence", "Body": "Please review the new documents." }'

🔑 Key Points:

  • The attorney_email parameter is optional and defaults to the token owner's account.
  • LawLink handles all v2 session token exchanges internally.
  • The API token authenticates your application to LawLink.
👥

Team Management

Manage Teams and Project Associations

LawLink now supports retrieving Filevine teams and associating them with specific projects.

Example: List Teams

# Retrieve all teams for the organization curl -X GET \ "https://app.lawlink.ai/api/v1/filevine/teams" \ -H "Authorization: Bearer ACCESS_TOKEN"

Example: Add Team to Project

# Associate a team with a project curl -X PUT \ "https://app.lawlink.ai/api/v1/filevine/teams/1234/projects/5678" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "applySubscriptions": false }'
🔍

Contact Conflict Check

Implement Contact Conflict Check

Before creating a new contact, use the /api/v1/filevine/contacts/check endpoint to detect potential duplicates within Filevine.

🔍 Detection Logic:

  • High Confidence Fail: Exact email match OR (Name + Phone match)
  • Low Confidence Fail: Name OR Phone match (partial match)
  • Pass: No match found
POST /api/v1/filevine/contacts/check { "first_name": "John", "last_name": "Smith", "email": "john@example.com" }
// Conflict Check Passes { "status": "pass", "message": "No conflict found" }
// High Confidence Conflict { "status": "high_confidence_fail", "reason": "Email matches an existing contact", "contact": { "personId": { "native": 546255 }, "fullName": "John Doe", ... } }