How to connect Smokeball with ChatGPT

Connect ChatGPT to Smokeball MCP. List open matters assigned to me, find contacts for a specific matter, and more using natural language, with authentication handled for you.

Smokeball logoSmokeball
Oauth2

Smokeball is legal practice management software for firms to manage matters, contacts, documents, tasks, and billing. It brings core firm records and workflows into one organized workspace.

164 Tools

How to connect Smokeball MCP with ChatGPT

ChatGPT can take action across your apps and files, stay with a project for hours, and turn a goal into finished materials like sheets, slides, and docs, not just answers.

In this guide, I will explain the easiest and most secure way to connect your Smokeball account to ChatGPT via Composio Connect, so it can manage matters, find contacts, create tasks, organize documents, and track billing through natural language commands without ever putting your account credentials at risk.

Also integrate Smokeball with

Why use Composio over default connectors?

  • Apps with read and write access. Default connectors mostly can read your data. Composio's Smokeball integration lets ChatGPT take actions like creating drafts, sending updates, labeling records, and more.
  • 1,500+ SaaS toolkits out of the box. Composio gives you instant access to a vast catalog of pre-built connectors, from Gmail and Slack to Notion, Linear, and Salesforce.
  • One MCP server for every app. Connect any of your applications on demand through a single endpoint, rather than juggling a separate server for each app.
  • Smart, context-aware tool loading. Unlike traditional MCP servers that dump every available tool into the LLM context window, Composio searches for and loads only the tools relevant to the task at hand.
  • Cross-app automation. Chain actions across multiple apps in a single run - fetch a thread, summarize it in Notion, and post highlights to Slack without leaving the conversation.

Prerequisites

Note: Composio connects through OAuth. You will be asked to sign in and approve specific permissions. Review the permission screen carefully if you are using a work account.

Step-by-step: Connect Smokeball to ChatGPT

1. Install the Composio plugin

Click the button. ChatGPT opens the Composio plugin page. Click Install plugin.

Install in ChatGPT

Composio plugin page in ChatGPT with the Install plugin button

You can also find it inside ChatGPT: go to Settings, open Plugins, search the marketplace for Composio, and click Install plugin.

2. Authenticate

After you install, ChatGPT asks you to authenticate with Composio. Log in and click Allow access to authorize ChatGPT to use your Composio account.

Composio login and Allow access screen for ChatGPT

3. Start using Composio

That is it. Composio tools are now available in ChatGPT. Type @Composio followed by your request, for example @Composio find unread Smokeball messages and summarize them, and it will run the actions you authorize. On first use it asks you to authorize Smokeball.

Option 2: Add Composio as an MCP server

If you cannot use the plugin marketplace, add Composio as a custom MCP server instead.

1. Open the MCP settings

In ChatGPT, go to Settings and open the Plugins section. Inside the Plugins page, click the MCP tab.

ChatGPT settings showing the Plugins page with the MCP tab selected

2. Add the server

Click Add server. In the Name field enter Composio, for Type select Streamable HTTP, and in the URL field paste the Composio MCP server URL:

bash
https://connect.composio.dev/mcp
ChatGPT Add server dialog with the name Composio, type Streamable HTTP, and the Composio MCP URL

Then click Save. The Composio server now appears in your MCP plugins list.

ChatGPT Plugins page showing the Composio MCP server added to the list

3. Authenticate

Click Authenticate on the Composio entry, log in via Composio, and click Allow access. Composio tools are then available in ChatGPT the same way as with the plugin.

What you can do after connecting Smokeball

  • List open matters assigned to me
  • Find contacts for a specific matter
  • Create tasks for overdue Smokeball matters

Security + privacy notes (important)

  • Use least-privilege access: Only grant permissions you actually need.
  • Review OAuth permissions before approving: Make sure requested scopes match what you expect Composio and ChatGPT to do.
  • Keep write actions human-reviewed: For actions like sending messages, creating labels, or editing drafts, keep manual confirmation enabled.
  • Be careful with sensitive data: Avoid using this setup with highly sensitive information unless allowed by your personal, company, or client policies.
TOOLS

Supported Tools

Every Smokeball action and event your agent gets out of the box.

Add Contact Tags

Adds one or more tags to an existing contact by contact id; tags that already exist on the contact are not duplicated by the documented behaviour.

Add Matter File

Register a new matter file and return a sensitive presigned PUT URL valid for 1 hour that authorizes its content upload.

Add Matter Files Batch

Register a migration batch of matter files and return one sensitive presigned PUT URL, valid for 1 hour, per item in request order.

Add Matter Layout

Adds a layout item using a restricted documented subset.

Add Matter Layout Contact

Adds a new contact on a specified layout.

Add Matter Role

Appends a new role in the specified matter.

Add Matter Role Relationship

Appends a new relationship with an existing role in the specified matter.

Add Matter Tags

Adds one or more tags to an existing matter by matter id.

Create Activity Code

Creates an activity code.

Create Authorization Group

Creates an authorization group.

Create Authorization Policy

Creates an authorization policy.

Create Bank Account Requisition

Submit an irreversible financial requisition against a trust account.

Create Bank Account Transaction

Submit an irreversible financial Deposit transaction against the specified bank account and matter, with a dollar amount limited to 2 decimal places and an effective date.

Create Contact

Creates a contact.

Create Contact Relation

Creates a relation for a specified contact.

Create Event

Creates a calendar event.

Create Event Reminder

Creates a new reminder for an event.

Create File Preview

Get or request a PDF preview of the current file version.

Create Firm

Creates a firm for the current authenticated client and registers an existing user as a staff member and firm owner.

Create Matter

Creates a new matter or Lead.

Create Matter Expense

Creates an expense for the specified matter.

Create Matter Fee

Creates a fee for the specified matter.

Create Matter Folder

Creates a new folder under the specified matter.

Create Matter Memo

Creates a memo on the specified matter.

Create Notification

Send a notification to the specified staff member, including its displayed message and optional toast message, icons, color, and Smokeball action URI.

Create Staff Member

Creates a staff member in the firm associated with the authenticated client.

Create Subtask

Creates a subtask for a specified task.

Create Task

Creates a task.

Create Task Document

Links an existing document to the specified task; it does not create a new document.

Create User

Create a persistent user login using Default or Auth0.

Create Webhook Subscription

Create a persistent webhook subscription that sends every selected event type to the external eventNotificationUrl until the subscription is changed or deleted.

Delete Activity Code

Deletes an activity code.

Delete Authorization Group

Delete an authorization group.

Delete Contact

Deletes a specified contact.

Delete Contact Relation

Deletes a relation for a specified contact.

Delete Event

Deletes a specified event.

Delete Event Reminder

Deletes a specified event reminder.

Delete Matter

Deletes a specified matter.

Delete Matter Expense

Deletes an expense.

Delete Matter Fee

Deletes a fee.

Delete Matter File

Deletes a specified matter file.

Delete Matter Folder

Deletes a folder belonging to the specified matter.

Delete Matter Memo

Deletes a specified memo.

Delete Staff Member

Sets the staff member from the firm associated with the authenticated client as a former staff member.

Delete Subtask

Deletes a specified subtask of a specified task.

Delete Task

Deletes a specified task.

Delete Task Document

Unlinks the specified document from the task without deleting the underlying document.

Delete Webhook Subscription

Deletes and unsubscribes from the specified webhook subscription.

Get Activity Code

Retrieves one activity code by id: code, description, type, whether it is billable, rate type and rate, quantity and tax flags.

Get Authorization Group

Retrieves one authorization group by id: its name, the ids of the principals it contains, and whether it is deleted.

Get Authorization Policy

Retrieves one authorization policy by its reference: the principal and resource it binds and its rules.

Get Bank Account

Retrieves one bank account by id: type, status, linked matter, account name and number, bank and branch details.

Get Bank Account Transaction

Retrieves one transaction by bank account id and transaction id, including its type, amount, dates, references, associated matter and payor links, and reversal status.

Get Contact

Retrieves one contact by id.

Get Contact Relation

Retrieves a relation for a specified contact if associated with the authenticated client.

Get Contacts Batch

Return contacts matching up to 500 supplied IDs in request order; nonexistent and other-account IDs are silently omitted.

Get Event

Retrieves one calendar event by id: subject, description, location, type, start and end times in the event timeZone, allDay flag, attendees and the linked matter.

Get File Download Url

Return a sensitive presigned GET URL and metadata for downloading the current or specified version of a matter file.

Get File Preview

Return a sensitive presigned URL to the PDF preview of the file's current version.

Get File Version Preview

Return a sensitive presigned URL to the PDF preview of a specific document version.

Get Firm

Retrieves the details of the firm associated with the authenticated client.

Get Layout Design

Retrieves one layout design by id: its name, description and the list of fields a layout matter item of this design carries.

Get Matter

Retrieves one matter by id with its documented fields, including any item, role, layout, and tag details Smokeball returns for it.

Get Matter Archive

Retrieves the archive record of a matter: whether it is archived, the archived date and location, box number, comments and destroy date.

Get Matter Billing Configuration

Retrieves the billing configuration for the specified matter.

Get Matter Expense

Retrieves one expense on a matter by matter id and expense id: staff, amounts, tax, origin and the invoice it belongs to, if any.

Get Matter Fee

Retrieves one fee on a matter by matter id and fee id: staff, duration or quantity, rate, amounts, tax and the invoice it belongs to, if any.

Get Matter File

Retrieves metadata for a file belonging to the specified matter, including its download-details link.

Get Matter Folder Path

Returns the full folder hierarchy (path) as a collection ordered from the root folder down to the supplied folder.

Get Matter Invoice

Retrieves one invoice on a matter by matter id and invoice id: number, title, status, dates and totals.

Get Matter Invoice Download Url

Return a sensitive download URL, its expiry timestamp, version, and status for the specified invoice.

Get Matter Item

Retrieves one item on a matter by matter id and item id: name, index, visibility and its subItems tree.

Get Matter Layout

Retrieves one layout item on a matter by item id, including its name, description, hierarchy and order, layout design link, values, and events.

Get Matter Memo

Retrieves one memo on a matter by matter id and memo id: title, rich text and plain text, author and dates, and whether it is deleted.

Get Matter Role

Retrieves one role on a matter by matter id and role id: role name, the contact filling it, representatives, relationships and whether it is the client or other side.

Get Matter Role Relationship

Retrieves one relationship on a matter role by relationship id, including its name, associated contact link, and representative links.

Get Matter Stage Info

Retrieves a matter's current stage information, including its stage set, current stage, version id, and last-updated timestamp.

Get Matter Type

Retrieves one matter type by id: name, category, type, location, representative options and the items it defines.

Get Notification

Retrieves one notification by id: message, icon, creator and date, and whether it has been read or seen.

Get Protected Bank Account Balance

Retrieves one protected-funds record by bank account id and protection id, including its amount, reason, dates, current protection state, and associated matter or contact.

Get Referral Type

Retrieves one referral type by id: its name and whether it is deleted.

Get Staff Member

Retrieves a staff member (based on staff id parameter provided) in the firm associated with the authenticated client.

Get Stage Set

Returns the stage set identified by `stage_set_id`, including its configured matter stages.

Get Stage Set Stage

Retrieves one stage of a stage set by stage-set id and stage id: name, lastUpdated and whether it is deleted.

Get Subtask

Retrieves the subtask identified by `subtask_id` within the specified `task_id`.

Get Task

Retrieves one task by id: subject, note, due date, assignees, sub-tasks, the linked matter and who created, completed or last updated it.

Get Task Document

Retrieves one document attached to a task by task id and document id, including its document type, deletion state, associated task, and document link.

Get User

Retrieves the Smokeball user identified by `user_id`.

Get Webhook Subscription

Returns the webhook subscription identified by `webhook_subscription_id`, including its callback and subscribed events.

List Activity Codes

Returns a list of activity codes.

List Authorization Groups

Return the authorization groups for the firm associated with the authenticated client.

List Bank Account Matter Balances

Returns a list of bank account matter balances.

List Bank Accounts

Returns bank accounts available to the authenticated firm, optionally filtered by account type or matter identifier.

List Contact Relations

Return relations for a contact associated with the authenticated client.

List Contacts

Returns a list of contacts.

List Contact Tags

Lists the tags currently on one contact, by contact id, as a plain string collection under value.

List Event Reminders

Returns the collection of reminders for an event The native root response is returned under data as an explicit Composio normalization.

List Events

Returns a list of events.

List File History

Returns the full list of history entries for the specified file.

List Firm Matter Stage Mappings

Returns a list of stage to matter mappings in the firm.

List Folder History

Returns a list of history entries for the specified folder.

List Layout Designs

Returns a list of layout designs.

List Matter Expenses

Returns a list of expenses for the specified matter.

List Matter Fees

Returns a list of fees for the specified matter.

List Matter Files

Returns a paged list of non-deleted files associated with a matter.

List Matter Folder Contents

Returns non-deleted folders and files directly under a matter's root document folder, or directly under folder_id when supplied, with folders before files.

List Matter Invoices

Returns a list of invoices for the specified matter.

List Matter Items

Returns the versioned item collection for a matter.

List Matter Layout Contacts

Returns a list of contacts on a specified layout.

List Matter Layouts

Returns a collection of layout items on a specified matter.

List Matter Memos

Returns a list of memos on the specified matter.

List Matter Role Relationships

Returns associated relationships for a specified matter and role group.

List Matter Roles

Returns associated roles for a specified matter.

List Matters

Returns one page of matters; pass next_cursor back as cursor to read the next one.

List Matter Tags

Returns the tags assigned to the matter identified by `matter_id`.

List Matter Type Categories

Returns a list of all the possible matter type categories.

List Matter Types

Returns a paginated list of matter types based on search criteria.

List Referral Types

Returns referral types, including custom referral types.

List Staff

Retrieves a paginated list of staff members in the firm associated with the authenticated client.

List Stage Sets

Returns a list of stage sets for the firm.

List Subtasks

Returns a list of subtasks for a specified task if associated with the authenticated client.

List Task Documents

Returns a list of document links for the specified task, if associated with the authenticated client.

List Tasks

Returns a list of tasks.

List Webhook Event Types

Lists the event type names a webhook subscription can subscribe to, as a plain string collection under value.

List Webhook Subscriptions

Returns existing webhook subscriptions.

Merge Matter Layout

Merges layout data using a restricted documented subset.

Patch Matter

Patches a matter or Lead, including lead-to-matter conversion and matter-type changes.

Patch Matter Archive

Updates the specified matter archive.

Patch Matter Billing Configuration

Changes only the supplied billing configuration fields for the specified matter.

Patch Matter Expense

Changes only the supplied expense fields for the specified matter.

Patch Matter Fee

Patches a fee for the specified matter.

Patch Matter File

Partially updates a file's metadata on the specified matter; only supplied fields change, but the documented schema still requires fileName.

Patch Matter Folder

Partially updates a folder belonging to the specified matter.

Protect Bank Account Funds

Protects funds in a trust bank account.

Remove Contact Tag

Removes one tag from a contact.

Remove Matter Layout

Removes a layout matter item from a matter.

Remove Matter Layout Contact

Removes a contact from a specified layout, deleting the associated role or relationship from the matter.

Remove Matter Role

Removes a specified role from a matter.

Remove Matter Role Relationship

Removes a relationship from a role in a matter.

Remove Matter Tag

Removes the tag from the matter without deleting from the account.

Search Files

Search files across the account using a required full-text query and documented filters; return the documented result array.

Unprotect Bank Account Funds

Unprotects funds in a trust bank account.

Update Activity Code

Updates an activity code.

Update Authorization Group

Updates a specified authorization group.

Update Authorization Policy

Updates a specified authorization policy.

Update Contact

Updates a specified contact.

Update Contact Relation

Updates a relation for a specified contact.

Update Event

Updates an event.

Update Event Reminder

Updates an existing reminder for an event.

Update Firm

Updates firm details for the current authenticated client.

Update Matter

Updates a specified matter.

Update Matter Archive

Replaces the specified matter archive by applying the full editable archive representation.

Update Matter Billing Configuration

Replaces the specified matter's billing configuration by applying its full editable representation.

Update Matter Expense

Replaces the expense by applying its full editable representation for the specified matter.

Update Matter Fee

Replaces the fee by applying its full editable representation for the specified matter.

Update Matter File

Replace all editable file fields using PUT; use PATCH_MATTER_FILE for a partial edit.

Update Matter Folder

Replaces the editable fields of a folder belonging to the specified matter.

Update Matter Memo

Updates a specified memo.

Update Matter Role

Updates a specified role on a matter.

Update Matter Role Relationship

Updates a specified relationship on a matter.

Update Staff Member

Updates a staff member in the firm associated with the authenticated client.

Update Subtask

Updates a specified subtask of a specified task.

Update Task

Updates a specified task.

Update Webhook Subscription

Update a persistent webhook subscription's name, event types, external eventNotificationUrl, and signing key.

FAQ

Frequently asked questions

With a standalone Smokeball MCP server, the agents and LLMs can only access a fixed set of Smokeball tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Smokeball and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. ChatGPT fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Smokeball tools.

Yes, absolutely. You can configure which Smokeball scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Smokeball data and credentials are handled as safely as possible.

Start with Smokeball.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Smokeball tool your agent needs.Free to start.

Start building