Skip to main content

Clio

Clio is a cloud-based legal practice management platform that helps law firms manage matters (cases), track billable time and expenses, store client contacts, generate bills, organize tasks, and manage documents. The Clio Manage API (v4) provides programmatic access to this data, enabling firms to integrate case management, time tracking, billing, and document workflows with external systems.

Clio icon

Power end-to-end data operations for your Clio API with Nexla. Our bi-directional Clio connector is purpose-built for Clio, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Clio or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Clio workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Clio uses the OAuth 2.0 authorization code grant to authorize API access. Before creating a credential in Nexla, you must register a developer application in Clio to obtain a Client ID (also called the App Key) and a Client Secret (also called the App Secret). You must also identify the regional API endpoint that matches the data center where your Clio account is hosted.

Register a Developer Application in Clio

A developer application represents your integration within Clio and provides the OAuth credentials that Nexla uses to authenticate. You must have administrator access to your Clio account to create and manage developer applications.

  1. Sign in to your Clio account, and navigate to the developer applications page for your region:

    • US: https://app.clio.com/settings/developer_applications
    • Europe: https://eu.app.clio.com/settings/developer_applications
    • Canada: https://ca.app.clio.com/settings/developer_applications
    • Australia: https://au.app.clio.com/settings/developer_applications
  2. Click the Add button to begin creating a new application.

  3. Enter the details for your application. The application name and description are shown to Clio users when they are asked to authorize the integration, so use clear, recognizable values (for example, "Nexla Integration").

  4. In the Redirect URI field, enter the Nexla OAuth callback URL: https://app.nexla.io/oauth/callback. This is the address that Clio redirects to after a user authorizes the application, and it must match exactly for the authorization to succeed.

  5. Select the OAuth scopes that grant access to the data your flows will read or write (for example, matters, contacts, activities, bills, tasks, and documents). Granting only the scopes you need follows the principle of least privilege and keeps your integration secure.

  6. Save the application, and make note of the generated Key and Secret.

    The Key corresponds to the Client ID and the Secret corresponds to the Client Secret that you will enter in Nexla. Store the secret securely—treat it like a password, as it grants access to your Clio data.

For complete information about registering developer applications and the OAuth flow, refer to the Clio Developer Documentation: Create a Developer Application and the Authorization guide.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Clio authentication uses the OAuth 2.0 authorization code grant, which is a three-legged flow that requires you to sign in to Clio and grant Nexla access during credential creation. Select the Base URL that matches the regional data center hosting your Clio account from the Base URL menu. Clio data is region-specific, so the correct endpoint is required for Nexla to reach your account:

    • US: https://app.clio.com/api/v4
    • Europe: https://eu.app.clio.com/api/v4
    • Canada: https://ca.app.clio.com/api/v4
    • Australia: https://au.app.clio.com/api/v4
  4. Enter the Key value from your Clio developer application in the Client ID field. This value identifies your integration to Clio.

  5. Enter the Secret value from your Clio developer application in the Client Secret field. This value authenticates your integration and should be kept secure.

  6. Click the Authenticate button to begin the OAuth authorization flow. You will be redirected to Clio to sign in (if you are not already signed in) and to review the requested permissions.

  7. Review the permissions, and click Allow Access to authorize Nexla. Clio will redirect you back to Nexla, and the access and refresh tokens will be stored automatically with the credential.

    Nexla automatically refreshes the access token using the stored refresh token, so you do not need to re-authorize the credential under normal operation. Re-authorization is only required if access is revoked in Clio or if the requested scopes change.

  8. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Clio connector tile, then select the credential that will be used to connect to the Clio instance, and click Next; or, create a new Clio credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Clio endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Activities

This endpoint retrieves all activities—time entries and expense entries that record billable work done at the firm—with support for filtering and automatic pagination. Use it to ingest time-tracking and expense data for billing analysis or reporting.

  • This endpoint automatically paginates through all matching activities, so no pagination configuration is required.
  • Optionally, enter an ISO 8601 timestamp in the Created Since field to return only activities created on or after that time, or in the Updated Since field to return only activities updated on or after that time. These filters are useful for incremental ingestion runs.
  • Optionally, enter a Matter ID or User ID to restrict results to activities associated with a specific matter or user.
  • Optionally, select a value from the Type menu to return only a specific activity type (Time Entry or Expense Entry).
  • Optionally, enter a comma-separated list of field names in the Fields field to control which fields are returned in the response.

Activity timestamps follow the ISO 8601 format (for example, 2026-01-01T00:00:00Z). For complete details, refer to the Clio API V4 Documentation.

Get Activity

This endpoint retrieves the details of a single activity by its unique ID. Use it when you need the full record for one specific time or expense entry.

  • Enter the ID of the activity to retrieve in the Activity ID field. This field is required. You can obtain activity IDs from the "List Activities" endpoint.

List Matters

This endpoint retrieves all matters (cases) with support for filtering and automatic pagination. Matters are the central organizing record in Clio, representing the legal work performed for a client.

  • This endpoint automatically paginates through all matching matters, so no pagination configuration is required.
  • Optionally, enter an ISO 8601 timestamp in the Created Since field to return only matters created on or after that time.
  • Optionally, select a value from the Open Status menu to return only Open Matters or Closed Matters. By default, open matters are returned.
  • Optionally, enter a term in the Search Query field to search matters by display number, description, or client name.

Get Matter

This endpoint retrieves the details of a single matter by its unique ID. Use it when you need the full record for one specific case.

  • Enter the ID of the matter to retrieve in the Matter ID field. This field is required. You can obtain matter IDs from the "List Matters" endpoint.

List Contacts

This endpoint retrieves all contacts—people and companies associated with your firm—with support for filtering and automatic pagination. Use it to ingest client and contact data for CRM synchronization or reporting.

  • This endpoint automatically paginates through all matching contacts, so no pagination configuration is required.
  • Optionally, enter a term in the Search Query field to search contacts by name, email, or company.
  • Optionally, select a value from the Contact Type menu to return only contacts of a specific type (Person or Company).

Get Contact

This endpoint retrieves the details of a single contact by its unique ID. Use it when you need the full record for one specific person or company.

  • Enter the ID of the contact to retrieve in the Contact ID field. This field is required. You can obtain contact IDs from the "List Contacts" endpoint.

List Bills

This endpoint retrieves all bills with support for filtering and automatic pagination. Use it to ingest billing and invoicing data for financial reporting or accounts-receivable analysis.

  • This endpoint automatically paginates through all matching bills, so no pagination configuration is required.
  • Optionally, enter a Matter ID to return only bills associated with a specific matter.
  • Optionally, select a value from the Bill State menu to return only bills in a specific state (Draft, Pending, or Paid).

Get Bill

This endpoint retrieves the details of a single bill by its unique ID. Use it when you need the full record for one specific invoice.

  • Enter the ID of the bill to retrieve in the Bill ID field. This field is required. You can obtain bill IDs from the "List Bills" endpoint.

List Tasks

This endpoint retrieves all tasks with support for filtering and automatic pagination. Use it to ingest to-do items and assignments tracked in Clio for workflow reporting.

  • This endpoint automatically paginates through all matching tasks, so no pagination configuration is required.
  • Optionally, select a value from the Completion Status menu to return only Incomplete Tasks or Complete Tasks. By default, incomplete tasks are returned.
  • Optionally, enter a Matter ID to return only tasks associated with a specific matter.

List Documents

This endpoint retrieves all document records with support for filtering and automatic pagination. Use it to ingest document metadata for content management or audit purposes.

  • This endpoint automatically paginates through all matching documents, so no pagination configuration is required.
  • Optionally, enter a Matter ID to return only documents associated with a specific matter.
  • Optionally, enter a term in the Search Query field to search documents by name or content.

This endpoint returns document metadata records. For complete details on document fields and downloading file content, refer to the Clio API V4 Documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Clio data sources can also be manually configured to ingest data from any valid Clio API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Clio endpoints use the .json suffix and must use the same regional base URL configured in your credential—for example, https://app.clio.com/api/v4/matters.json?limit=100. Time-based filters such as created_since and updated_since are useful for incremental ingestion.

Clio list endpoints return matching records inside a top-level data array, with pagination details in a meta object, so the path to data is entered as $.data[*] (use $.data for single-record "Get" endpoints). The Clio API uses the X-API-VERSION header to pin requests to a specific API version—for example, X-API-VERSION:4.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Clio data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Clio destination, and select the Send to Destination option from the menu. Select the Clio connector from the list of available destination connectors, then select the credential that will be used to connect to the Clio account, and click Next; or, create a new Clio credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Clio endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Activity

This endpoint creates a new activity (a time entry or expense entry) in Clio. Use it to push time-tracking or expense data captured in other systems into Clio for billing.

  • Each record in the Nexset is sent as the JSON body of a POST request to the Clio activities endpoint. Map your Nexset fields so that each record contains the attributes required to create an activity (for example, the activity type, quantity, and the associated matter).
  • No additional endpoint parameters are required to configure this template.

For the complete list of fields accepted when creating an activity, refer to the Clio API V4 Documentation.

Update Activity

This endpoint updates an existing activity in Clio by its unique ID. Use it to modify time or expense entries—for example, to correct a quantity or update billing status.

  • Enter the ID of the activity to update in the Activity ID field. This field is required and is used to build the request URL.
  • Each record in the Nexset is sent as the JSON body of a PATCH request containing the fields to update. Only the attributes you include are modified.

Create Task

This endpoint creates a new task in Clio. Use it to generate to-do items or assignments in Clio from workflows managed in other systems.

  • Each record in the Nexset is sent as the JSON body of a POST request to the Clio tasks endpoint. Map your Nexset fields so that each record contains the attributes required to create a task (for example, the task name, due date, and the associated matter).
  • No additional endpoint parameters are required to configure this template.

Update Task

This endpoint updates an existing task in Clio by its unique ID. Use it to modify task details—for example, to mark a task complete or change its due date.

  • Enter the ID of the task to update in the Task ID field. This field is required and is used to build the request URL.
  • Each record in the Nexset is sent as the JSON body of a PATCH request containing the fields to update. Only the attributes you include are modified.

Manual configuration

Clio destinations can also be manually configured to send data to any valid Clio API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks. Using manual configuration, you can also configure Nexla to automatically send the response received from the Clio API after each call to a new Nexla webhook data source.

Clio expects JSON request bodies for write operations, so select JSON as the content format. Clio endpoints use the .json suffix, and write operations typically use POST to create records and PATCH to update existing records—for example, https://app.clio.com/api/v4/tasks.json to create a task, or https://app.clio.com/api/v4/tasks/12345.json to update one. The Clio API uses the X-API-VERSION header to pin requests to a specific API version—for example, X-API-VERSION:4.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Clio endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to Clio until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.