Forcemanager

Learn how to use Forcemanager with Composio

Overview

SLUG: FORCEMANAGER

Description

ForceManager is a mobile-first CRM designed to enhance sales team productivity by providing real-time insights and streamlined management of customer interactions.

Authentication Details

bearer_token
stringRequired
generic_api_key
stringRequired
generic_secret
stringRequired
generic_id
stringRequired

Connecting to Forcemanager

Create an auth config

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

1

Select App

Navigate to Forcemanager.

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 Forcemanager 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 API Key

1from composio import Composio
2
3# Replace these with your actual values
4forcemanager_auth_config_id = "ac_YOUR_FORCEMANAGER_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": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Forcemanager 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, forcemanager_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 Forcemanager toolkit’s playground

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=["FORCEMANAGER"])
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: Delete Activity

Description

Delete an existing activity by ID. Tries multiple base hosts and path variants to maximize compatibility across environments and gateways.

Action Parameters

api_version
integer
id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Company

Description

Tool to delete a company by its ForceManager ID. Use when you need to remove an existing company from the system.

Action Parameters

api_version
integer
id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired
successfull
booleanRequired

Tool Name: Delete Contact

Description

Delete an existing contact by ID. Tries multiple base hosts and path variants to maximize compatibility across environments and gateways.

Action Parameters

api_version
integer
id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Sales Order

Description

Delete a sales order by ID using ForceManager REST API. Tries multiple base hosts and path variants to maximize compatibility across environments. Accepts successful HTTP status codes (< 300) even when the response is non-JSON, capturing response text.

Action Parameters

api_version
integer
id
integerRequired

Action Response

data
object
error
string
successful
booleanRequired
successfull
booleanDefaults to True

Tool Name: Delete Sales Order Line

Description

Delete a sales order line by ID using ForceManager REST API. Tries multiple base hosts and path variants to maximize compatibility across environments. Accepts successful HTTP status codes (< 300) even when the response is HTML instead of JSON, capturing the response text as a message.

Action Parameters

api_version
integer
id
integerRequired

Action Response

data
object
error
string
successful
booleanRequired
successfull
booleanDefaults to True

Tool Name: Delete Master Data Value

Description

Delete a master-data value (Z_ table) by ID using ForceManager REST API. Tries multiple base hosts and path variants to maximize compatibility across environments. Accepts successful HTTP status codes (< 300) even when the response is HTML instead of JSON, capturing the response text as a message. Also retries sending authentication headers as query parameters on HTTP 401 as some gateways expect them in query string.

Action Parameters

api_version
integer
id
integerRequired
resourceName
stringRequired

Action Response

data
object
error
string
successful
booleanRequired
successfull
booleanDefaults to True

Tool Name: Delete View

Description

Delete a saved view by ID. Tries multiple base hosts and path variants to maximize compatibility across environments and gateways.

Action Parameters

api_version
integer
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Activity

Description

Tool to get a single activity by ID. Use when you need to fetch a specific activity. Returns empty entity with found=False on non-JSON HTML or if not found.

Action Parameters

api_version
integer
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Company

Description

Tool to get a single company by ID. Returns the object when JSON is available; otherwise returns an empty payload with found=False to gracefully handle non-JSON HTML responses from app.forcemanager.net.

Action Parameters

api_version
integer
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Internal ID

Description

Tool to retrieve ForceManager internal IDs mapping for a given externalId and entity type. This action calls the documented endpoint /api/internalid with required authentication headers and optional pagination/version headers. It tries multiple base hosts to avoid HTML app shell responses and gracefully handles non-JSON responses and error codes by returning empty results instead of failing the execution.

Action Parameters

api_version
integer
externalId
stringRequired
page
integer
type
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Product

Description

Tool to get a single product by ID. It tries multiple known ForceManager endpoints and gracefully handles cases where the response is non-JSON by returning an empty payload with found=False. Fallback: if all direct endpoints fail, it will try listing products and filter locally.

Action Parameters

api_version
integer
id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Sales Order Line

Description

Tool to get a single sales order line by ID. Use when you need to fetch details of a specific sales order line.

Action Parameters

api_version
integer
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User

Description

Tool to get a single user by ID. Use when you need to retrieve user details by ID. Returns empty entity with found=False when user not found or non-JSON is returned.

Action Parameters

api_version
integer
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get View

Description

Tool to get a single view by ID. Returns a list with zero or one view object.

Action Parameters

api_version
integer
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Views

Description

Tool to list saved view filters. Use when you need to retrieve saved views for a specific entity (e.g., list views for entity 'account').

Action Parameters

api_version
integer
entity
string
name
string
page
integer
q
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Activity

Description

Tool to update an existing activity by ID. Use when you need to change fields such as comment, date/time, linked entities, or geocode.

Action Parameters

account_id
integer
activity_date_time
string
activity_type_id
integer
api_version
integer
checkin_type
string
checkout_date_time
string
comment
string
contact_id
integer
ext_id
string
geocode_accuracy
number
geocode_latitude
number
geocode_longitude
number
geocoded
boolean
id
integerRequired
is_checkin
boolean
opportunity_id
integer
permission_level
integer
sales_rep_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Company

Description

Update Company

Action Parameters

account_status_id
string
account_type_id
string
address_1
string
address_2
string
api_version
integer
branch_id
string
city_name
string
comment
string
country_id
string
email
string
ext_id
string
extra_fields
object
fax
string
geolocalisation_accuracy
string
id
integerRequired
mobile_phone
string
name
string
permission_level
integer
phone
string
phone_2
string
postcode
string
product_rate_id
string
province_name
string
sales_rep_2_id
string
sales_rep_3_id
string
sales_rep_4_id
string
sales_rep_5_id
string
sales_rep_id
string
segment_id
string
vat_number
string
visible_to_all
boolean
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Product

Description

Tool to update a product by ID in ForceManager. Use when modifying product details.

Action Parameters

api_version
integer
category_id
integer
cost
number
description
string
ext_id
string
extra_fields
object
family_id
integer
id
integerRequired
max_discount
number
model
string
not_available
boolean
permission_level
integer
price
number

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Sales Order

Description

Update Sales Order

Action Parameters

account_id
integer
address
string
amount
number
api_version
integer
archived
boolean
branch_id
integer
closed_date
string
closing_date_expected
string
comments
string
contact_id
integer
currency_id
integer
discount_1
number
discount_2
number
discount_3
number
discount_4
number
ext_id
string
extra_fields
object
id
integerRequired
number
integer
opportunity_id
integer
rate_id
integer
sales_rep_id
integer
status_id
integer
topic
string
year
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Sales Order Line

Description

Tool to update sales order line by ID. Use when modifying details of an existing sales order line. Retries with query auth on 401 for proxy-pro host.

Action Parameters

api_version
integer
discount_1
number
discount_2
number
discount_3
number
discount_4
number
extra_fields
object
final_price
number
id
integerRequired
price
number
product_id
integer
quantity
integer
salesorder_id
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired