# Forcemanager — MCP server on mcp.ai > Connect your Forcemanager account and use 20 tools for CRM straight from your AI agent. Connect with your own API key. ForceManager is a mobile-first CRM designed to enhance sales team productivity by providing real-time insights and streamlined management of customer interactions. By: mcp.ai · official Page: https://mcp.ai/forcemanager ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_forcemanager?ms=1787291460000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/forcemanager/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/forcemanager/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/forcemanager/skill.md Postman collection (v2.1): https://mcp.ai/forcemanager/postman.json ## Tools - forcemanager_delete_activity(id: integer, api_version?: integer) — Delete an existing activity by ID. Tries multiple base hosts and path variants to maximize compatibility across environments and gateways. - forcemanager_delete_company(id: integer, api_version?: integer) — Tool to delete a company by its ForceManager ID. Use when you need to remove an existing company from the system. - forcemanager_delete_contact(id: integer, api_version?: integer) — Permanently deletes a contact from ForceManager by its unique ID. This action removes the specified contact and all associated data. The operation is irreversible. The action automatically tries multi - forcemanager_delete_sales_order(id: integer, api_version?: integer) — 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 whe - forcemanager_delete_sales_order_line(id: integer, api_version?: integer) — Delete a sales order line by ID. Attempts deletion across multiple ForceManager API hosts and path variations to ensure compatibility. Returns detailed information about the deletion result, including - forcemanager_delete_value(id: integer, api_version?: integer, resourceName: string) — 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 - forcemanager_delete_view(id: string, api_version?: integer) — Delete a saved view (custom filter) by its ID. Views in ForceManager are saved filter configurations that users create to quickly access filtered lists of entities (accounts, activities, opportunities - forcemanager_get_activity(id: string, api_version?: integer) — Retrieves a single activity by its ID from ForceManager CRM. Use this tool when you need to: - Fetch details of a specific activity by its ID - Check if an activity exists - Retrieve activity data inc - forcemanager_get_company(id: string, api_version?: integer) — Retrieve a single company by its ID from ForceManager. Returns company details when found, or an empty entity with found=False when the company doesn't exist or the API returns non-JSON content. The a - forcemanager_get_internal_id(page?: integer, type: string, externalId: string, api_version?: integer) — 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 p - forcemanager_get_product(id: integer, api_version?: integer) — Retrieve a single product by its ID from ForceManager/Sage Sales Management. This action tries multiple known ForceManager API endpoints in sequence until one succeeds. If a product is not found or th - forcemanager_get_sales_order_line(id: string, api_version?: integer) — Retrieves a single sales order line by ID from ForceManager. A sales order line represents a product item within a sales order, including quantity, pricing, and discount information. Use this when you - forcemanager_get_user(id: string, api_version?: integer) — Retrieves a single ForceManager user by their ID, returning comprehensive user information including name, email, phone, active status, permission level, manager, branches, and more. Returns the compl - forcemanager_get_view(id: string, api_version?: integer) — Tool to get a single view by ID. Returns a list with zero or one view object. - forcemanager_list_views(q?: string, name?: string, page?: integer, entity?: string, api_version?: integer) — 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'). - forcemanager_update_activity(id: integer, ext_id?: string, comment?: string, geocoded?: boolean, account_id?: integer, contact_id?: integer, is_checkin?: boolean, api_version?: integer, checkin_type?: string, sales_rep_id?: integer, opportunity_id?: integer, activity_type_id?: integer, geocode_accuracy?: number, geocode_latitude?: number, permission_level?: integer, geocode_longitude?: number, activity_date_time?: string, checkout_date_time?: string) — Tool to update an existing activity by ID. Use when you need to change fields such as comment, date/time, linked entities, or geocode. - forcemanager_update_company(id: integer, fax?: string, name?: string, email?: string, phone?: string, ext_id?: string, comment?: string, phone_2?: string, website?: string, postcode?: string, address_1?: string, address_2?: string, branch_id?: string, city_name?: string, country_id?: string, segment_id?: string, vat_number?: string, api_version?: integer, extra_fields?: object, mobile_phone?: string, sales_rep_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, visible_to_all?: boolean, account_type_id?: string, product_rate_id?: string, permission_level?: integer, account_status_id?: string, geolocalisation_accuracy?: string) — Update Company - forcemanager_update_product(id: integer, cost?: number, model?: string, price?: number, ext_id?: string, family_id?: integer, api_version?: integer, category_id?: integer, description?: string, extra_fields?: object, max_discount?: number, not_available?: boolean, permission_level?: integer) — Updates an existing product by ID in ForceManager. Use this tool to modify product details such as name, price, cost, description, availability status, category, family, discount limits, and custom fi - forcemanager_update_sales_order(id: integer, year?: integer, topic?: string, amount?: number, ext_id?: string, number?: integer, address?: string, rate_id?: integer, archived?: boolean, comments?: string, branch_id?: integer, status_id?: integer, account_id?: integer, contact_id?: integer, discount_1?: number, discount_2?: number, discount_3?: number, discount_4?: number, api_version?: integer, closed_date?: string, currency_id?: integer, extra_fields?: object, sales_rep_id?: integer, opportunity_id?: integer, closing_date_expected?: string) — Update Sales Order - forcemanager_update_sales_order_line(id: integer|string, price?: number, quantity?: integer, discount_1?: number, discount_2?: number, discount_3?: number, discount_4?: number, product_id?: integer|string, api_version?: integer, final_price?: number, extra_fields?: object, salesorder_id?: integer|string) — 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. ## Example prompts - "What can I do in Forcemanager?" - "Show me a summary of my Forcemanager account" ## Links Docs: https://mcp.ai/docs/mcps/forcemanager Website: https://mcp.ai/mcps/forcemanager