Capsule crm

Learn how to use Capsule crm with Composio

Overview

SLUG: CAPSULE_CRM

Description

Capsule CRM is a simple yet powerful CRM platform designed to help businesses manage customer relationships, sales pipelines, and tasks efficiently.

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to read write
bearer_token
string
generic_api_key
stringRequired

Connecting to Capsule crm

Create an auth config

Use the dashboard to create an auth config for the Capsule crm toolkit. This allows you to connect multiple Capsule crm accounts to Composio for agents to use.

1

Select App

Navigate to [Capsule crm](https://platform.composio.dev/marketplace/Capsule crm).

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Capsule crm Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4capsule_crm_auth_config_id = "ac_YOUR_CAPSULE_CRM_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Capsule crm: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, capsule_crm_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4capsule_crm_auth_config_id = "ac_YOUR_CAPSULE_CRM_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Capsule crm for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, capsule_crm_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the [Capsule crm toolkit’s playground](https://app.composio.dev/app/Capsule crm)

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["CAPSULE_CRM"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create Capsule CRM Party

Description

Tool to create a party in capsule crm. use when you have collected a person's or organisation's details and need to add a new record.

Action Parameters

about
string
addresses
array
emailAddresses
array
fields
array
firstName
string
jobTitle
string
lastName
string
name
string
organisation
object
owner
object
phoneNumbers
array
tags
array
team
object
title
string
type
stringRequired
websites
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Parties

Description

Tool to list all parties (contacts) on the account. use when you need to fetch contacts with optional filters or embed additional related data.

Action Parameters

embed
array
page
integerDefaults to 1
perPage
integerDefaults to 50
since
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Party

Description

Tool to fully delete a specific party (person or organisation) from capsule crm. use when you need to completely remove a party after confirming no active references remain.

Action Parameters

party_id
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Deleted Opportunities

Description

Tool to list opportunities deleted or restricted since a given date. use when you need to identify recently deleted or restricted opportunities.

Action Parameters

since
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List deleted parties

Description

Tool to retrieve parties deleted since a given date. use when you need to sync deletions.

Action Parameters

since
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Entries By Date

Description

Tool to list notes, emails, and completed party tasks in descending order by entry date. use when you need the most recent entries first after authenticating.

Action Parameters

embed
array
page
integerDefaults to 1
perPage
integerDefaults to 50

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Organisation Employees

Description

Tool to list employees linked to a specific organisation (party). use when you need to retrieve all employees under a given organisation.

Action Parameters

embed
array
page
integerDefaults to 1
party_id
integerRequired
perPage
integerDefaults to 50

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Projects

Description

Tool to list projects (cases) from capsule crm. use when you need a paginated or filtered view of projects.

Action Parameters

fields
string
page
integerDefaults to 1
perPage
integerDefaults to 50
search
string
status
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Tasks

Description

Tool to list tasks on the capsule account. use when you need to retrieve tasks with filters or embedded related data.

Action Parameters

embed
array
page
integerDefaults to 1
perPage
integerDefaults to 50
status
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Users

Description

Tool to list all users on the capsule account. use after authentication to enumerate users for reporting or auditing.

Action Parameters

embed
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Run Filter Query

Description

Tool to run structured filter queries on parties, opportunities or kases. use when you need to retrieve entities matching specific filter conditions.

Action Parameters

embed
array
entity
stringRequired
filter
objectRequired
page
integer
perPage
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Capsule CRM Party

Description

Tool to update an existing person or organisation (party) in capsule crm. use when you need to modify specific fields of a party after confirming its id. example: "update party 11587 to remove phone number 12136 and add a new work email."

Action Parameters

embed
array
party
objectRequired
partyId
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired