# How to integrate Simla com MCP with OpenAI Agents SDK

```json
{
  "title": "How to integrate Simla com MCP with OpenAI Agents SDK",
  "toolkit": "Simla com",
  "toolkit_slug": "simla_com",
  "framework": "OpenAI Agents SDK",
  "framework_slug": "open-ai-agents-sdk",
  "url": "https://composio.dev/toolkits/simla_com/framework/open-ai-agents-sdk",
  "markdown_url": "https://composio.dev/toolkits/simla_com/framework/open-ai-agents-sdk.md",
  "updated_at": "2026-05-12T10:26:18.641Z"
}
```

## Introduction

This guide walks you through connecting Simla com to the OpenAI Agents SDK using the Composio tool router. By the end, you'll have a working Simla com agent that can create a new customer with email and phone, update order status for a specific order, list customers who registered this week through natural language commands.
This guide will help you understand how to give your OpenAI Agents SDK agent real control over a Simla com account through Composio's Simla com MCP server.
Before we dive in, let's take a quick look at the key ideas and tools involved.

## Also integrate Simla com with

- [Claude Agent SDK](https://composio.dev/toolkits/simla_com/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/simla_com/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/simla_com/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/simla_com/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/simla_com/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/simla_com/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/simla_com/framework/cli)
- [Google ADK](https://composio.dev/toolkits/simla_com/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/simla_com/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/simla_com/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/simla_com/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/simla_com/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/simla_com/framework/crew-ai)

## TL;DR

Here's what you'll learn:
- Get and set up your OpenAI and Composio API keys
- Install the necessary dependencies
- Initialize Composio and create a Tool Router session for Simla com
- Configure an AI agent that can use Simla com as a tool
- Run a live chat session where you can ask the agent to perform Simla com operations

## What is OpenAI Agents SDK?

The OpenAI Agents SDK is a lightweight framework for building AI agents that can use tools and maintain conversation state. It provides a simple interface for creating agents with hosted MCP tool support.
Key features include:
- Hosted MCP Tools: Connect to external services through hosted MCP endpoints
- SQLite Sessions: Persist conversation history across interactions
- Simple API: Clean interface with Agent, Runner, and tool configuration
- Streaming Support: Real-time response streaming for interactive applications

## What is the Simla com MCP server, and what's possible with it?

The Simla com MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Simla com account. It provides structured and secure access to customer records, order management, delivery integration, and custom field data, so your agent can perform actions like creating orders, managing customers, updating tasks, and extending your CRM—all on your behalf.
- Customer management and updates: Easily create new customers, update their details, or fetch specific customer profiles using flexible filters and identifiers.
- Order creation and editing: Let your agent register new orders, update existing ones, or retrieve order information to streamline your sales and fulfillment workflows.
- Custom field management: Enable your agent to create or update custom metadata fields for orders, customers, or companies, so your CRM data model can adapt to your business needs.
- Task automation and tracking: Automatically create new tasks, assign them to team members, and keep all task details up to date for efficient collaboration and follow-up.
- Bulk customer retrieval and segmentation: Fetch lists of customers with custom filters to support segmentation, analysis, or targeted outreach directly from your agent.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SIMLA_COM_ADD_CUSTOMER_INTERACTION_FAVORITE` | Add Customer Interaction Favorite | Tool to add a product offer to a customer's list of favorites. Use when you need to save a specific product to a customer's favorites on a particular site. |
| `SIMLA_COM_COMBINE_CUSTOMERS` | Combine Customers | Tool to combine multiple customers into one. The specified customers will be merged into the result customer and then deleted. Use when you need to consolidate multiple customer records. Note: This operation is performed asynchronously - use /api/v5/customers/history to track the result. |
| `SIMLA_COM_COMBINE_CUSTOMERS_CORPORATE` | Combine Corporate Customers | Tool to combine multiple corporate customers into one. The specified customers will be merged into the result customer and then deleted. Use when you need to consolidate multiple corporate customer records. Note: This operation is performed asynchronously - use /api/v5/customers-corporate/history to track the result. |
| `SIMLA_COM_COMBINE_ORDERS` | Combine Orders | Tool to combine two orders into one. The source order will be merged into the result order using the specified technique. Use when you need to consolidate order data from one order into another. |
| `SIMLA_COM_CREATE_COST` | Create Cost | Create a new cost record in Simla CRM. Use this to track business expenses with period dates, amounts, and cost categories. Required fields: dateFrom (start date), dateTo (end date), summ (amount), and costItem (category code). The cost amount must be positive and costItem must match an existing cost item in the system. Optionally associate the cost with specific stores or users. |
| `SIMLA_COM_CREATE_CUSTOMER` | Create Customer | Creates a new customer in Simla.com. All customer fields are optional - provide at least one field (e.g., firstName, email, or phone) to create a customer. Returns the customer ID upon successful creation. |
| `SIMLA_COM_CREATE_CUSTOMER_CORPORATE` | Create Corporate Customer | Creates a new corporate customer in Simla.com. Use when you need to add a new business or organization as a customer. At least one field (typically nickName or externalId) should be provided. Returns the corporate customer ID upon successful creation. |
| `SIMLA_COM_CREATE_CUSTOMER_INTERACTION_CART_SET` | Create Customer Interaction Cart Set | Tool to create or overwrite shopping cart data for a customer. Use when you need to set cart contents for customer interaction tracking. This overwrites any existing cart data for the specified customer. |
| `SIMLA_COM_CREATE_CUSTOMERS_CORPORATE_ADDRESSES` | Create Corporate Customer Address | Creates a new address for a corporate customer in Simla.com. Use when adding a delivery or billing address to an existing corporate customer account. The address can be specified as simple text or with detailed components (street, city, region, etc.). |
| `SIMLA_COM_CREATE_CUSTOMERS_CORPORATE_COMPANIES` | Create Corporate Customer Company | Tool to create a company for a corporate customer in Simla.com. Use when you need to add a new company to an existing corporate customer record. Returns the newly created company ID on success. |
| `SIMLA_COM_CREATE_CUSTOMERS_CORPORATE_CONTACTS` | Create Corporate Customer Contact | Tool to create a link between a corporate customer and a contact person. Use when you need to associate an existing customer as a contact for a corporate customer entity. |
| `SIMLA_COM_CREATE_CUSTOMERS_CORPORATE_NOTES` | Create Corporate Customer Note | Tool to create a note for a corporate customer. Use when you need to add notes or comments to corporate customer records. Requires either customer ID or external ID to identify the corporate customer. |
| `SIMLA_COM_CREATE_CUSTOMERS_NOTES` | Create Customer Note | Tool to create a note for a customer. Use when you need to add notes or comments to customer records. Requires either customer ID or external ID to identify the customer. |
| `SIMLA_COM_CREATE_CUSTOM_FIELD` | Create Custom Field | Tool to create a custom field for a specified entity in Simla. Use when you need to extend orders, customers, corporate customers, or companies with custom metadata fields. |
| `SIMLA_COM_CREATE_CUSTOM_FIELDS_DICTIONARIES` | Create Custom Fields Dictionary | Tool to create a custom fields dictionary with elements. Use when you need to create a new directory for dictionary-type or multiselect_dictionary-type custom fields. |
| `SIMLA_COM_CREATE_LOYALTY_CALCULATE` | Calculate Loyalty Discount | Tool to calculate maximum loyalty discount and bonuses for an order. Use when you need to preview loyalty benefits before order creation or show customers potential savings based on their loyalty status. |
| `SIMLA_COM_CREATE_ORDER` | Create Order | Create a new order in Simla with customer details and line items. This action registers an order with customer information, items (with offer IDs), delivery address, and optional metadata. The API automatically creates customers and offers if they don't exist. Returns complete order details including assigned order ID and number. Key requirements: - At least one item with a valid offer identifier (id, externalId, or xmlId) - Quantity must be greater than 0 - Customer contact info (name/phone/email) is optional but recommended |
| `SIMLA_COM_CREATE_ORDERS_LINK` | Create Orders Link | Tool to create a link between multiple orders in Simla. Use when you need to associate two or more orders together with an optional comment. |
| `SIMLA_COM_CREATE_ORDERS_PACKS` | Create Order Pack | Tool to create a new order pack in Simla. Use when you need to register pack shipment details for an order item, including store location, quantity, shipment date, and invoice/delivery note numbers. |
| `SIMLA_COM_CREATE_ORDERS_PAYMENTS_CREATE` | Create Order Payment | Create a new payment record for an order in Simla CRM. Use when recording payments received for orders. Required fields: type (payment type code), amount (must be positive), and order reference (id or externalId). The payment type must match an existing payment type in the system (e.g., 'cash', 'bank-card'). Use this to track payment transactions against specific orders. |
| `SIMLA_COM_CREATE_REFERENCE_COURIER` | Create Reference Courier | Tool to create a new courier in Simla.com. Use when you need to add a new courier to the system for delivery management. Returns the courier ID upon successful creation. |
| `SIMLA_COM_CREATE_REFERENCE_CURRENCIES` | Create Reference Currency | Tool to create a new currency in Simla.com. Use when you need to add a new currency to the system for financial operations and multi-currency support. |
| `SIMLA_COM_CREATE_STORE_INVENTORIES_UPLOAD` | Create Store Inventories Upload | Tool to batch update inventory quantities and purchase prices across warehouses/stores. Use when you need to sync stock levels and cost pricing for offers. Updates leftover stocks (available quantity) and purchasing prices for existing offers in the system. |
| `SIMLA_COM_CREATE_STORE_PRODUCT_GROUPS` | Create Store Product Groups | Tool to create a new product group in Simla.com store. Use when you need to add a new product group for organizing products. Returns the product group ID upon successful creation. |
| `SIMLA_COM_CREATE_STORE_PRODUCTS_BATCH_CREATE` | Batch Create Store Products | Tool to batch create products and services in the store catalog. Use when you need to create multiple products at once. Each product requires a name, article (SKU), and catalogId that matches the catalog parameter. |
| `SIMLA_COM_CREATE_TASK` | Create Task | Tool to create a new task. Use after gathering task details and assignees. |
| `SIMLA_COM_CREATE_WEB_ANALYTICS_VISITS_UPLOAD` | Create Web Analytics Visits Upload | Tool to batch upload web analytics visit records to Simla CRM. Use when tracking customer visits with traffic source attribution. Each visit must include site code, customer identifier, timestamp, and traffic source/medium information. |
| `SIMLA_COM_DELETE_COST` | Delete Cost | Tool to delete a cost by ID. Use when you need to remove a cost record from the system. |
| `SIMLA_COM_DELETE_CUSTOMERS_CORPORATE_NOTE` | Delete Corporate Customer Note | Tool to delete a corporate customer note by ID. Use when you need to remove a note record from a corporate customer. |
| `SIMLA_COM_DELETE_CUSTOMERS_NOTE` | Delete Customer Note | Tool to delete a customer note by ID. Use when you need to remove a note record from a customer. |
| `SIMLA_COM_DELETE_ORDER_PAYMENT` | Delete Order Payment | Tool to delete an order payment by ID. Use when you need to remove a payment record from an order. |
| `SIMLA_COM_EDIT_COST` | Edit Cost | Tool to edit an existing cost record by ID. Use when you need to update cost details such as amount, dates, cost item, or attribution information for expense tracking and analysis. |
| `SIMLA_COM_EDIT_CUSTOMER` | Edit Customer | Tool to edit an existing customer. Use when you need to update customer details by external ID. |
| `SIMLA_COM_EDIT_CUSTOMER_CORPORATE` | Edit Corporate Customer | Tool to edit an existing corporate customer. Use when you need to update corporate customer details such as nickname, discount, VIP status, or custom fields by external ID. |
| `SIMLA_COM_EDIT_CUSTOMERS_CORPORATE_ADDRESS` | Edit Corporate Customer Address | Tool to edit an address for a corporate customer. Use when you need to update address details (name, city, street, building, etc.) for a specific corporate customer address by its external ID. |
| `SIMLA_COM_EDIT_CUSTOMERS_CORPORATE_COMPANY` | Edit Corporate Customer Company | Tool to edit a company associated with a corporate customer. Use when you need to update company details such as name or main status for a corporate customer's company entity. |
| `SIMLA_COM_EDIT_CUSTOMERS_CORPORATE_CONTACTS` | Edit Corporate Customer Contact | Tool to edit the link between a corporate customer and a contact person. Use when you need to update contact properties such as marking a contact as the main contact person for a corporate customer. |
| `SIMLA_COM_EDIT_CUSTOM_FIELD` | Edit Custom Field | Edit an existing custom field's properties by entity type and field code. Use this to modify custom field settings such as display name, description, type, visibility flags, sort order, default values, or settings (for dictionary-type fields). At least one property besides entity and code must be provided. The field must already exist. |
| `SIMLA_COM_EDIT_CUSTOM_FIELDS_DICTIONARY` | Edit Custom Fields Dictionary | Tool to edit an existing custom fields directory by code. Use when you need to update the directory name or modify its elements (add, remove, or reorder entries). |
| `SIMLA_COM_EDIT_DELIVERY_GENERIC_SETTING` | Edit Delivery Generic Setting | Tool to register or edit a delivery service integration configuration. Use when you need to create a new delivery service integration or update existing delivery settings including API endpoints, statuses, custom fields, and integration metadata. |
| `SIMLA_COM_EDIT_FILE` | Edit File | Tool to edit an existing file by ID. Use when you need to update file properties such as filename. |
| `SIMLA_COM_EDIT_INTEGRATION_MODULE` | Edit Integration Module | Tool to create or edit an integration module configuration. Use when you need to register or update an integration module with its base URL, client ID, and display settings. |
| `SIMLA_COM_EDIT_ORDER` | Edit Order | Tool to edit an existing order by external ID. Use when you need to update order details by external ID. |
| `SIMLA_COM_EDIT_ORDERS_PAYMENT` | Edit Orders Payment | Tool to edit an existing order payment. Use when you need to update payment details such as amount, status, or type. |
| `SIMLA_COM_EDIT_REFERENCE_COST_GROUP` | Edit Reference Cost Group | Tool to edit an existing cost group by code. Use when you need to update cost group properties such as name, color, active status, or display ordering. |
| `SIMLA_COM_EDIT_REFERENCE_COST_ITEM` | Edit Reference Cost Item | Tool to edit an existing cost item reference by code. Use when you need to update cost item properties such as name, group, type, or activation status in the system's cost item directory. |
| `SIMLA_COM_EDIT_REFERENCE_COURIER` | Edit Reference Courier | Tool to edit an existing courier by ID. Use when you need to update courier details such as name, email, phone, or active status. |
| `SIMLA_COM_EDIT_REFERENCE_CURRENCY` | Edit Reference Currency | Tool to edit an existing currency configuration by ID. Use when you need to update currency properties such as base currency status, auto-conversion settings, or conversion rates. |
| `SIMLA_COM_EDIT_REFERENCE_DELIVERY_SERVICE` | Edit Reference Delivery Service | Tool to edit an existing delivery service by code. Use when you need to update delivery service properties such as name, code, or active status. |
| `SIMLA_COM_EDIT_REFERENCE_DELIVERY_TYPES` | Edit Reference Delivery Type | Tool to create or edit a delivery type in Simla.com. Use when you need to add a new delivery type or modify an existing one. This endpoint handles both creation (if the code doesn't exist) and updates (if it does). Provide at least the name and active status. |
| `SIMLA_COM_EDIT_REFERENCE_ORDER_METHOD` | Edit Reference Order Method | Tool to edit an existing order method reference by code. Use when you need to update order method properties such as name, active status, or default settings in the system's order method directory. |
| `SIMLA_COM_EDIT_REFERENCE_ORDER_TYPE` | Edit Reference Order Type | Tool to create or edit an order type by code. Use when you need to create a new order type or update properties of an existing one such as name, active status, or default settings. |
| `SIMLA_COM_EDIT_REFERENCE_PAYMENT_STATUS` | Edit Reference Payment Status | Tool to edit an existing payment status reference by code. Use when you need to update payment status properties such as name, active status, or default settings in the system's payment status directory. |
| `SIMLA_COM_EDIT_REFERENCE_PAYMENT_TYPE` | Edit Reference Payment Type | Tool to edit an existing payment type or create a new one by code. Use when you need to update payment type properties such as name, code, active status, description, ordering, or default settings. |
| `SIMLA_COM_EDIT_REFERENCE_PRICE_TYPE` | Edit Reference Price Type | Tool to edit an existing price type in the reference data. Use when you need to update price type properties such as name, active status, default flag, or associated customer groups. |
| `SIMLA_COM_EDIT_REFERENCE_PRODUCT_STATUS` | Edit Product Status | Tool to create or edit product status in the reference directory. Use when you need to add a new product status or update an existing one. Set code to 'new' when creating a new status, or use the existing status code to edit. |
| `SIMLA_COM_EDIT_REFERENCE_STATUSES` | Edit Reference Statuses | Tool to edit an existing order status reference by code. Use when you need to update order status properties such as name, active status, display ordering, or group classification in the system's status directory. |
| `SIMLA_COM_EDIT_REFERENCE_STORES` | Edit Reference Stores | Tool to create or edit a warehouse/store by code. Use when you need to update store information such as name, contact details, address, or active status. |
| `SIMLA_COM_EDIT_REFERENCE_SUBSCRIPTION` | Edit Reference Subscription | Tool to create or edit a subscription category in Simla. Use when you need to configure subscription categories for different communication channels (email, sms, waba). Creates a new subscription category if the code doesn't exist, or updates an existing one. |
| `SIMLA_COM_EDIT_REFERENCE_UNIT` | Edit Reference Unit | Tool to create or edit a unit of measurement reference by code. Use when you need to add new units or update existing unit properties such as name or symbol in the system's unit directory. |
| `SIMLA_COM_EDIT_STORE_PRODUCT_GROUP` | Edit Store Product Group | Tool to edit an existing product group by external ID. Use when you need to update product group details such as name, site, or active status. |
| `SIMLA_COM_EDIT_STORE_PRODUCTS_BATCH` | Edit Store Products Batch | Tool to batch edit multiple products and services at once. Use when you need to update multiple products in a single operation. This action allows updating multiple product fields (name, price, quantity, active status, etc.) for multiple products in a single API call. Each product must be identified by its internal ID. Returns the count of successfully processed products and any products that were not found. |
| `SIMLA_COM_EDIT_STORE_SETTING` | Edit Store Setting | Tool to register or update warehouse system configuration in Simla. Use when you need to configure a warehouse integration with name, code, and account URL. |
| `SIMLA_COM_EDIT_TASK` | Edit Task | Tool to edit an existing task. Use after confirming task ID and fields to update. Updates only provided fields on the task. |
| `SIMLA_COM_EDIT_TELEPHONY_SETTING` | Edit Telephony Setting | Tool to create or edit a telephony integration setting in Simla. Use when you need to register or update a telephony integration with its configuration including client ID, name, active status, and optional webhook URLs for call handling. |
| `SIMLA_COM_FIX_CUSTOMERS_CORPORATE_EXTERNAL_IDS` | Fix Corporate Customers External IDs | Tool to perform mass recording of corporate customer external IDs in Simla. Use when you need to map internal corporate customer IDs to external system identifiers in bulk. Accepts an array of corporate customer ID mappings and assigns external IDs to the corresponding corporate customers. |
| `SIMLA_COM_FIX_CUSTOMERS_EXTERNAL_IDS` | Fix Customers External IDs | Tool to perform mass recording of customer external IDs in Simla. Use when you need to map internal customer IDs to external system identifiers in bulk. Accepts an array of customer ID mappings and assigns external IDs to the corresponding customers. |
| `SIMLA_COM_FIX_ORDERS_EXTERNAL_IDS` | Fix Orders External IDs | Tool to perform mass recording of order external IDs in Simla. Use when you need to map internal order IDs to external system identifiers in bulk. Accepts an array of order ID mappings and assigns external IDs to the corresponding orders. |
| `SIMLA_COM_GET_API_CREDENTIALS` | Get API Credentials | Tool to retrieve available API methods and stores for the current API key. Use when you need to verify API permissions or discover which endpoints and sites are accessible. |
| `SIMLA_COM_GET_API_VERSIONS` | Get API Versions | Tool to retrieve a list of available API versions. Use when you need to discover which API versions are supported by the system. |
| `SIMLA_COM_GET_COST` | Get Cost | Retrieves detailed information about a specific cost record by its ID. Use this when you need to fetch cost data including amount, dates, cost item, and attribution details before analyzing or updating cost records. |
| `SIMLA_COM_GET_CUSTOMER` | Get Customer | Retrieves detailed information about a specific customer by ID or external ID. Returns comprehensive customer data including contact info, address, subscriptions, order statistics, and custom fields. Use this when you need complete customer details for a known identifier. |
| `SIMLA_COM_GET_CUSTOMER_CORPORATE` | Get Corporate Customer | Retrieves detailed information about a corporate customer by external ID. Returns comprehensive corporate customer data including tags, custom fields, order statistics, and discount information. Use this when you need complete corporate customer details for a known external identifier. |
| `SIMLA_COM_GET_CUSTOMER_INTERACTION_FAVORITES` | Get Customer Interaction Favorites | Tool to retrieve a list of favorite product offers for a specific customer. Use when you need to fetch customer's saved favorites from a particular site. |
| `SIMLA_COM_GET_CUSTOMERS` | Get Customers | Tool to retrieve a list of customers. Use after setting optional filters (IDs, email, custom fields) to fetch paginated customer data. |
| `SIMLA_COM_GET_CUSTOMERS_CORPORATE` | Get Corporate Customers | Tool to retrieve a list of corporate customers matching the specified filters. Use after setting optional filters (managers, manager groups, discount card, IDs) to fetch paginated corporate customer data. |
| `SIMLA_COM_GET_CUSTOMERS_CORPORATE_COMPANIES` | Get Corporate Customer Companies | Tool to retrieve the list of companies associated with a corporate customer contact person. Use when you need to see which companies are linked to a specific corporate customer. |
| `SIMLA_COM_GET_CUSTOMERS_CORPORATE_HISTORY` | Get Corporate Customers History | Tool to retrieve corporate customer change history for synchronization or audit purposes. Use when tracking corporate customer modifications over time or implementing incremental data sync with sinceId. |
| `SIMLA_COM_GET_CUSTOMERS_CORPORATE_NOTES` | Get Corporate Customers Notes | Tool to retrieve a list of corporate customer notes. Use when you need to fetch notes with optional filters (note IDs, corporate customer IDs, manager IDs, text search, date range) and pagination. |
| `SIMLA_COM_GET_CUSTOMERS_HISTORY` | Get Customers History | Tool to retrieve customer change history for synchronization or audit purposes. Use when tracking customer modifications over time or implementing incremental data sync with sinceId. |
| `SIMLA_COM_GET_CUSTOMERS_NOTES` | Get Customers Notes | Tool to retrieve a list of customer notes. Use when you need to fetch notes with optional filters (note IDs, customer IDs, manager IDs, text search, date range) and pagination. |
| `SIMLA_COM_GET_CUSTOM_FIELD` | Get Custom Field | Tool to retrieve detailed information about a specific custom field by entity and code. Use when you need to get properties and settings of a particular custom field. |
| `SIMLA_COM_GET_CUSTOM_FIELDS` | Get Custom Fields | Tool to list custom fields. Use when retrieving custom field definitions with optional filtering by entity or code. |
| `SIMLA_COM_GET_CUSTOM_FIELDS_DICTIONARIES` | Get Custom Fields Dictionaries | Tool to retrieve the list of custom dictionaries. Use when you need to get available custom directory definitions with their elements and codes. |
| `SIMLA_COM_GET_CUSTOM_FIELDS_DICTIONARY` | Get Custom Fields Dictionary | Tool to retrieve a custom fields dictionary by its code identifier. Use when you need to get detailed information about a specific dictionary including its name, code, and all elements. |
| `SIMLA_COM_GET_DELIVERY_GENERIC_SETTING` | Get Delivery Generic Setting | Tool to retrieve integration configuration for a delivery module instance. Use when you need to fetch delivery service settings including metadata, supported actions, and status mappings. |
| `SIMLA_COM_GET_DELIVERY_SHIPMENTS` | Get Delivery Shipments | Tool to retrieve a list of delivery shipments. Use when you need to fetch shipments with optional date filters and pagination. |
| `SIMLA_COM_GET_FILES` | Get Files | Tool to retrieve a list of files. Use when you need to fetch files with optional filters like IDs and pagination. |
| `SIMLA_COM_GET_LOYALTY_ACCOUNTS` | Get Loyalty Accounts | Tool to retrieve a list of customer loyalty program accounts. Use when you need to fetch loyalty accounts with optional filters (loyalty program IDs, phone number) and pagination. |
| `SIMLA_COM_GET_LOYALTY_BONUS_OPERATIONS` | Get Loyalty Bonus Operations | Tool to retrieve the history of bonus account operations for all participations. Use when you need to fetch loyalty bonus transaction history with optional date range and type filters. |
| `SIMLA_COM_GET_LOYALTY_LOYALTIES` | Get Loyalty Loyalties | Tool to retrieve a list of loyalty programs. Use when you need to fetch available loyalty programs with optional pagination. |
| `SIMLA_COM_GET_ORDER` | Get Order | Tool to retrieve detailed information about a specific order. Use when you need to fetch full order data by external ID before further processing. |
| `SIMLA_COM_GET_ORDERS` | Get Orders | Tool to retrieve a list of orders. Use when you need to fetch orders with optional filters (order numbers, custom fields) and pagination. |
| `SIMLA_COM_GET_ORDERS_HISTORY` | Get Orders History | Tool to retrieve order change history. Use when you need to track changes to orders over time with optional date filters and pagination via sinceId. |
| `SIMLA_COM_GET_ORDERS_PACKS_HISTORY` | Get Orders Packs History | Tool to retrieve the history of order packing changes. Use when you need to track pack status updates, modifications, or apply warehouse system synchronization. Call without parameters initially, then use sinceId for incremental updates. |
| `SIMLA_COM_GET_PRODUCTS` | Get Products | Tool to retrieve a list of products. Use when you need to list products with optional filters. |
| `SIMLA_COM_GET_REFERENCE_COST_GROUPS` | Get Reference Cost Groups | Tool to retrieve a list of all cost groups configured in the system. Use when you need to discover available cost groups for organizing expenses or costs. |
| `SIMLA_COM_GET_REFERENCE_COST_ITEMS` | Get Reference Cost Items | Tool to retrieve a list of all cost items configured in the system. Use when you need to discover available cost item codes for order or operation cost tracking. |
| `SIMLA_COM_GET_REFERENCE_COUNTRIES` | Get Reference Countries | Tool to retrieve a list of all available country ISO codes in the system. Use when you need to discover available countries for order or customer creation. |
| `SIMLA_COM_GET_REFERENCE_COURIERS` | Get Reference Couriers | Tool to retrieve the list of available couriers. Use when you need to fetch courier information or get courier codes for deliveries. |
| `SIMLA_COM_GET_REFERENCE_CURRENCIES` | Get Reference Currencies | Tool to retrieve the list of all configured currencies in the system. Use when you need to discover available currencies for order creation or financial operations. |
| `SIMLA_COM_GET_REFERENCE_DELIVERY_SERVICES` | Get Reference Delivery Services | Tool to retrieve a list of all configured delivery services in the system. Use when you need to discover available delivery services for order creation or to get delivery service codes. |
| `SIMLA_COM_GET_REFERENCE_DELIVERY_TYPES` | Get Reference Delivery Types | Tool to retrieve the list of delivery types from the system. Use when you need to discover available delivery types for order management or to get delivery type codes. |
| `SIMLA_COM_GET_REFERENCE_LEGAL_ENTITIES` | Get Reference Legal Entities | Tool to retrieve a list of all configured legal entities in the system. Use when you need to get available legal entity codes or legal entity details for business operations. |
| `SIMLA_COM_GET_REFERENCE_MG_CHANNELS` | Get MessageGateway Channels | Tool to retrieve a list of all MessageGateway channels in the system. Use when you need to discover available messaging channels for communication. |
| `SIMLA_COM_GET_REFERENCE_ORDER_METHODS` | Get Reference Order Methods | Tool to retrieve a list of all available order methods in the system. Use when you need to discover available order methods for order creation or to get order method codes. |
| `SIMLA_COM_GET_REFERENCE_ORDER_TYPES` | Get Reference Order Types | Tool to retrieve the list of order types from the system. Use when you need to discover available order types for order management or to get order type codes. |
| `SIMLA_COM_GET_REFERENCE_PAYMENT_STATUSES` | Get Reference Payment Statuses | Tool to retrieve the list of payment statuses configured in the system. Use when you need to discover available payment statuses or get payment status codes. |
| `SIMLA_COM_GET_REFERENCE_PAYMENT_TYPES` | Get Reference Payment Types | Tool to retrieve a list of all configured payment types in the system. Use when you need to discover available payment methods for orders or to get payment type codes. |
| `SIMLA_COM_GET_REFERENCE_PRICE_TYPES` | Get Reference Price Types | Tool to retrieve the list of price types from the reference data. Use when you need to discover available price types for order or product pricing. |
| `SIMLA_COM_GET_REFERENCE_PRODUCT_STATUSES` | Get Product Statuses | Tool to retrieve the list of all product statuses configured in the system. Use when you need to discover available product statuses for order items or to get status codes. |
| `SIMLA_COM_GET_REFERENCE_STATUSES` | Get Reference Statuses | Tool to retrieve the list of order statuses from the system. Use when you need to discover available statuses for order management or to get status codes. |
| `SIMLA_COM_GET_REFERENCE_STATUS_GROUPS` | Get Reference Status Groups | Tool to retrieve the list of all order status groups in the system. Use when you need to discover available status groups for order processing or categorization. |
| `SIMLA_COM_GET_REFERENCE_SUBSCRIPTIONS` | Get Reference Subscriptions | Tool to retrieve the list of all subscription categories in the system. Use when you need to discover available subscription channels (email, sms, waba) and their configuration. |
| `SIMLA_COM_GET_REFERENCE_UNITS` | Get Reference Units | Tool to retrieve the list of units of measurement from the system. Use when you need to discover available units for product management or to get unit codes. |
| `SIMLA_COM_GET_SEGMENTS` | Get Segments | Tool to retrieve a list of customer segments. Use when you need to list segments with optional filters after authentication. |
| `SIMLA_COM_GET_SETTINGS` | Get Settings | Tool to retrieve system settings including default currency, language, timezone, and message gateway configuration. Use when you need to discover system-wide configuration or settings for the account. |
| `SIMLA_COM_GET_SITES` | Get Sites | Tool to retrieve a list of all configured sites/stores in the system. Use when you need to discover available sites for order creation or to get site codes. |
| `SIMLA_COM_GET_STATISTIC_UPDATE` | Get Statistic Update | Tool to trigger an update of CRM basic statistics. Use when you need to refresh statistical data in the system. |
| `SIMLA_COM_GET_STORE_INVENTORIES` | Get Store Inventories | Tool to retrieve store inventories with leftover stocks and purchasing prices. Use when you need to check inventory levels across warehouses or get cost pricing information for offers. |
| `SIMLA_COM_GET_STORE_OFFERS` | Get Store Offers | Tool to retrieve a list of store offers with pagination support. Use when you need to fetch available offers from the store catalog. |
| `SIMLA_COM_GET_STORE_PRODUCTS_PROPERTIES` | Get Store Products Properties | Tool to retrieve a list of product properties from the store. Use when you need to fetch product property definitions with pagination support. |
| `SIMLA_COM_GET_STORE_PRODUCTS_PROPERTIES_VALUES` | Get Store Products Properties Values | Tool to retrieve product property values from the store. Use when you need to list property values with optional filters. |
| `SIMLA_COM_GET_STORES` | Get Stores | Tool to retrieve a list of all warehouses/stores in the system. Use when you need to discover available stores for inventory management or order fulfillment. |
| `SIMLA_COM_GET_TASK` | Get Task | Retrieves detailed information about a specific task by its ID. Use this to view task details including description, deadline, completion status, assigned performer, and related entities (orders, customers) before editing, completing, or analyzing tasks. |
| `SIMLA_COM_GET_TASKS` | Get Tasks | Tool to retrieve a list of tasks with optional filters. Use when you need to fetch tasks after specifying filter criteria like IDs, status, or date range. |
| `SIMLA_COM_GET_TASKS_COMMENTS` | Get Tasks Comments | Tool to retrieve comments on a specific task by task ID. Use when you need to view all comments associated with a task for context, collaboration, or audit purposes. |
| `SIMLA_COM_GET_TASKS_HISTORY` | Get Tasks History | Tool to retrieve task change history. Use when you need to track changes to tasks over time. Use sinceId for incremental synchronization. |
| `SIMLA_COM_GET_TELEPHONY_SETTING` | Get Telephony Setting | Tool to retrieve telephony integration settings by code. Use when you need to fetch configuration details for a specific telephony integration. |
| `SIMLA_COM_GET_USER` | Get User | Tool to retrieve detailed information about a specific user by ID. Use when you need complete user data for a known user identifier. |
| `SIMLA_COM_GET_USER_GROUPS` | Get User Groups | Tool to retrieve a list of user groups with their permissions and configuration. Use when you need to fetch available user groups with optional pagination. |
| `SIMLA_COM_GET_USERS` | Get Users | Tool to retrieve a list of users. Use when you need to fetch users with optional pagination, filtering, and sorting. |
| `SIMLA_COM_UPDATE_CUSTOMER_SUBSCRIPTIONS` | Update Customer Subscriptions | Tool to subscribe or unsubscribe a customer to mailing channels. Use when you need to manage customer communication preferences across different channels (email, SMS, WhatsApp, etc.). |
| `SIMLA_COM_UPDATE_USER_STATUS` | Update User Status | Tool to change a user's status. Use when you need to update a user's current work status. |
| `SIMLA_COM_UPLOAD_COSTS` | Upload Costs | Tool to batch upload cost records to Simla CRM. Use when you need to create multiple cost entries at once for tracking expenses like advertising, salaries, or other operational costs. Maximum 50 costs per request. |
| `SIMLA_COM_UPLOAD_CUSTOMERS` | Upload Customers | Tool to batch upload customer records to Simla CRM. Use when you need to create multiple customers at once. Maximum 50 customers per request. |
| `SIMLA_COM_UPLOAD_CUSTOMERS_CORPORATE` | Upload Corporate Customers | Tool to batch upload corporate customers to Simla.com CRM. Use when you need to create multiple corporate customer records at once with their companies, contacts, and addresses. Maximum 50 customers per request. |
| `SIMLA_COM_UPLOAD_ORDERS` | Upload Orders | Upload multiple orders to Simla in a single batch operation. Use when you need to create multiple orders efficiently (up to 50 per request). Each order requires an externalId and at least one item with an offer identifier. The API processes all orders and returns details for successful uploads along with any errors. |
| `SIMLA_COM_UPLOAD_STORE_PRICES` | Upload Store Prices | Tool to batch update SKU prices in Simla store catalog. Use when you need to set or update prices for product offers. Can also remove specific price types using the remove flag. |
| `SIMLA_COM_UPLOAD_WEB_ANALYTICS_CLIENT_IDS` | Upload Web Analytics Client IDs | Tool to batch upload web analytics client IDs to Simla CRM for tracking purposes. Use when you need to associate Google Analytics (or other web analytics) client IDs with orders and customers in the system. |
| `SIMLA_COM_UPLOAD_WEB_ANALYTICS_SOURCES` | Upload Web Analytics Sources | Tool to batch upload web analytics sources to Simla CRM. Use when tracking traffic sources for orders or customers from marketing campaigns. Each source must include at least one identifier (order, customer, or clientId) along with optional UTM parameters (source, medium, campaign, keyword, content). |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The Simla com MCP server is an implementation of the Model Context Protocol that connects your AI agent to Simla com. It provides structured and secure access so your agent can perform Simla com operations on your behalf through a secure, permission-based interface.
With Composio's managed implementation, you don't have to create your own developer app. For production, if you're building an end product, we recommend using your own credentials. The managed server helps you prototype fast and go from 0-1 faster.

## Step-by-step Guide

### 1. Prerequisites

Before starting, make sure you have:
- Composio API Key and OpenAI API Key
- Primary know-how of OpenAI Agents SDK
- A live Simla com project
- Some knowledge of Python or Typescript

### 1. Getting API Keys for OpenAI and Composio

OpenAI API Key
- Go to the [OpenAI dashboard](https://platform.openai.com/settings/organization/api-keys) and create an API key. You'll need credits to use the models, or you can connect to another model provider.
- Keep the API key safe.
Composio API Key
- Log in to the [Composio dashboard](https://dashboard.composio.dev?utm_source=toolkits&utm_medium=framework_docs).
- Go to Settings and copy your API key.

### 2. Install dependencies

Install the Composio SDK and the OpenAI Agents SDK.
```python
pip install composio_openai_agents openai-agents python-dotenv
```

```typescript
npm install @composio/openai-agents @openai/agents dotenv
```

### 3. Set up environment variables

Create a .env file and add your OpenAI and Composio API keys.
```bash
OPENAI_API_KEY=sk-...your-api-key
COMPOSIO_API_KEY=your-api-key
USER_ID=composio_user@gmail.com
```

### 4. Import dependencies

What's happening:
- You're importing all necessary libraries.
- The Composio and OpenAIAgentsProvider classes are imported to connect your OpenAI agent to Composio tools like Simla com.
```python
import asyncio
import os
from dotenv import load_dotenv

from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider
from agents import Agent, Runner, HostedMCPTool, SQLiteSession
```

```typescript
import 'dotenv/config';
import { Composio } from '@composio/core';
import { OpenAIAgentsProvider } from '@composio/openai-agents';
import { Agent, hostedMcpTool, run, OpenAIConversationsSession } from '@openai/agents';
import * as readline from 'readline';
```

### 5. Set up the Composio instance

No description provided.
```python
load_dotenv()

api_key = os.getenv("COMPOSIO_API_KEY")
user_id = os.getenv("USER_ID")

if not api_key:
    raise RuntimeError("COMPOSIO_API_KEY is not set. Create a .env file with COMPOSIO_API_KEY=your_key")

# Initialize Composio
composio = Composio(api_key=api_key, provider=OpenAIAgentsProvider())
```

```typescript
dotenv.config();

const composioApiKey = process.env.COMPOSIO_API_KEY;
const userId = process.env.USER_ID;

if (!composioApiKey) {
  throw new Error('COMPOSIO_API_KEY is not set. Create a .env file with COMPOSIO_API_KEY=your_key');
}
if (!userId) {
  throw new Error('USER_ID is not set');
}

// Initialize Composio
const composio = new Composio({
  apiKey: composioApiKey,
  provider: new OpenAIAgentsProvider(),
});
```

### 6. Create a Tool Router session

What is happening:
- You give the Tool Router the user id and the toolkits you want available. Here, it is only simla_com.
- The router checks the user's Simla com connection and prepares the MCP endpoint.
- The returned session.mcp.url is the MCP URL that your agent will use to access Simla com.
- This approach keeps things lightweight and lets the agent request Simla com tools only when needed during the conversation.
```python
# Create a Simla com Tool Router session
session = composio.create(
    user_id=user_id,
    toolkits=["simla_com"]
)

mcp_url = session.mcp.url
```

```typescript
// Create Tool Router session for Simla com
const session = await composio.create(userId as string, {
  toolkits: ['simla_com'],
});
const mcpUrl = session.mcp.url;
```

### 7. Configure the agent

No description provided.
```python
# Configure agent with MCP tool
agent = Agent(
    name="Assistant",
    model="gpt-5",
    instructions=(
        "You are a helpful assistant that can access Simla com. "
        "Help users perform Simla com operations through natural language."
    ),
    tools=[
        HostedMCPTool(
            tool_config={
                "type": "mcp",
                "server_label": "tool_router",
                "server_url": mcp_url,
                "headers": {"x-api-key": api_key},
                "require_approval": "never",
            }
        )
    ],
)
```

```typescript
// Configure agent with MCP tool
const agent = new Agent({
  name: 'Assistant',
  model: 'gpt-5',
  instructions:
    'You are a helpful assistant that can access Simla com. Help users perform Simla com operations through natural language.',
  tools: [
    hostedMcpTool({
      serverLabel: 'tool_router',
      serverUrl: mcpUrl,
      headers: { 'x-api-key': composioApiKey },
      requireApproval: 'never',
    }),
  ],
});
```

### 8. Start chat loop and handle conversation

No description provided.
```python
print("\nComposio Tool Router session created.")

chat_session = SQLiteSession("conversation_openai_toolrouter")

print("\nChat started. Type your requests below.")
print("Commands: 'exit', 'quit', or 'q' to end\n")

async def main():
    try:
        result = await Runner.run(
            agent,
            "What can you help me with?",
            session=chat_session
        )
        print(f"Assistant: {result.final_output}\n")
    except Exception as e:
        print(f"Error: {e}\n")

    while True:
        user_input = input("You: ").strip()
        if user_input.lower() in {"exit", "quit", "q"}:
            print("Goodbye!")
            break

        result = await Runner.run(
            agent,
            user_input,
            session=chat_session
        )
        print(f"Assistant: {result.final_output}\n")

asyncio.run(main())
```

```typescript
// Keep conversation state across turns
const conversationSession = new OpenAIConversationsSession();

// Simple CLI
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  prompt: 'You: ',
});

console.log('\nComposio Tool Router session created.');
console.log('\nChat started. Type your requests below.');
console.log("Commands: 'exit', 'quit', or 'q' to end\n");

try {
  const first = await run(agent, 'What can you help me with?', { session: conversationSession });
  console.log(`Assistant: ${first.finalOutput}\n`);
} catch (e) {
  console.error('Error:', e instanceof Error ? e.message : e, '\n');
}

rl.prompt();

rl.on('line', async (userInput) => {
  const text = userInput.trim();

  if (['exit', 'quit', 'q'].includes(text.toLowerCase())) {
    console.log('Goodbye!');
    rl.close();
    process.exit(0);
  }

  if (!text) {
    rl.prompt();
    return;
  }

  try {
    const result = await run(agent, text, { session: conversationSession });
    console.log(`\nAssistant: ${result.finalOutput}\n`);
  } catch (e) {
    console.error('Error:', e instanceof Error ? e.message : e, '\n');
  }

  rl.prompt();
});

rl.on('close', () => {
  console.log('\n👋 Session ended.');
  process.exit(0);
});
```

## Complete Code

```python
import asyncio
import os
from dotenv import load_dotenv

from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider
from agents import Agent, Runner, HostedMCPTool, SQLiteSession

load_dotenv()

api_key = os.getenv("COMPOSIO_API_KEY")
user_id = os.getenv("USER_ID")

if not api_key:
    raise RuntimeError("COMPOSIO_API_KEY is not set. Create a .env file with COMPOSIO_API_KEY=your_key")

# Initialize Composio
composio = Composio(api_key=api_key, provider=OpenAIAgentsProvider())

# Create Tool Router session
session = composio.create(
    user_id=user_id,
    toolkits=["simla_com"]
)
mcp_url = session.mcp.url

# Configure agent with MCP tool
agent = Agent(
    name="Assistant",
    model="gpt-5",
    instructions=(
        "You are a helpful assistant that can access Simla com. "
        "Help users perform Simla com operations through natural language."
    ),
    tools=[
        HostedMCPTool(
            tool_config={
                "type": "mcp",
                "server_label": "tool_router",
                "server_url": mcp_url,
                "headers": {"x-api-key": api_key},
                "require_approval": "never",
            }
        )
    ],
)

print("\nComposio Tool Router session created.")

chat_session = SQLiteSession("conversation_openai_toolrouter")

print("\nChat started. Type your requests below.")
print("Commands: 'exit', 'quit', or 'q' to end\n")

async def main():
    try:
        result = await Runner.run(
            agent,
            "What can you help me with?",
            session=chat_session
        )
        print(f"Assistant: {result.final_output}\n")
    except Exception as e:
        print(f"Error: {e}\n")

    while True:
        user_input = input("You: ").strip()
        if user_input.lower() in {"exit", "quit", "q"}:
            print("Goodbye!")
            break

        result = await Runner.run(
            agent,
            user_input,
            session=chat_session
        )
        print(f"Assistant: {result.final_output}\n")

asyncio.run(main())
```

```typescript
import 'dotenv/config';
import { Composio } from '@composio/core';
import { OpenAIAgentsProvider } from '@composio/openai-agents';
import { Agent, hostedMcpTool, run, OpenAIConversationsSession } from '@openai/agents';
import * as readline from 'readline';

const composioApiKey = process.env.COMPOSIO_API_KEY;
const userId = process.env.USER_ID;

if (!composioApiKey) {
  throw new Error('COMPOSIO_API_KEY is not set. Create a .env file with COMPOSIO_API_KEY=your_key');
}
if (!userId) {
  throw new Error('USER_ID is not set');
}

// Initialize Composio
const composio = new Composio({
  apiKey: composioApiKey,
  provider: new OpenAIAgentsProvider(),
});

async function main() {
  // Create Tool Router session
  const session = await composio.create(userId as string, {
    toolkits: ['simla_com'],
  });
  const mcpUrl = session.mcp.url;

  // Configure agent with MCP tool
  const agent = new Agent({
    name: 'Assistant',
    model: 'gpt-5',
    instructions:
      'You are a helpful assistant that can access Simla com. Help users perform Simla com operations through natural language.',
    tools: [
      hostedMcpTool({
        serverLabel: 'tool_router',
        serverUrl: mcpUrl,
        headers: { 'x-api-key': composioApiKey },
        requireApproval: 'never',
      }),
    ],
  });

  // Keep conversation state across turns
  const conversationSession = new OpenAIConversationsSession();

  // Simple CLI
  const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    prompt: 'You: ',
  });

  console.log('\nComposio Tool Router session created.');
  console.log('\nChat started. Type your requests below.');
  console.log("Commands: 'exit', 'quit', or 'q' to end\n");

  try {
    const first = await run(agent, 'What can you help me with?', { session: conversationSession });
    console.log(`Assistant: ${first.finalOutput}\n`);
  } catch (e) {
    console.error('Error:', e instanceof Error ? e.message : e, '\n');
  }

  rl.prompt();

  rl.on('line', async (userInput) => {
    const text = userInput.trim();

    if (['exit', 'quit', 'q'].includes(text.toLowerCase())) {
      console.log('Goodbye!');
      rl.close();
      process.exit(0);
    }

    if (!text) {
      rl.prompt();
      return;
    }

    try {
      const result = await run(agent, text, { session: conversationSession });
      console.log(`\nAssistant: ${result.finalOutput}\n`);
    } catch (e) {
      console.error('Error:', e instanceof Error ? e.message : e, '\n');
    }

    rl.prompt();
  });

  rl.on('close', () => {
    console.log('\nSession ended.');
    process.exit(0);
  });
}

main().catch((err) => {
  console.error('Fatal error:', err);
  process.exit(1);
});
```

## Conclusion

This was a starter code for integrating Simla com MCP with OpenAI Agents SDK to build a functional AI agent that can interact with Simla com.
Key features:
- Hosted MCP tool integration through Composio's Tool Router
- SQLite session persistence for conversation history
- Simple async chat loop for interactive testing
You can extend this by adding more toolkits, implementing custom business logic, or building a web interface around the agent.

## How to build Simla com MCP Agent with another framework

- [Claude Agent SDK](https://composio.dev/toolkits/simla_com/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/simla_com/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/simla_com/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/simla_com/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/simla_com/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/simla_com/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/simla_com/framework/cli)
- [Google ADK](https://composio.dev/toolkits/simla_com/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/simla_com/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/simla_com/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/simla_com/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/simla_com/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/simla_com/framework/crew-ai)

## Related Toolkits

- [Hubspot](https://composio.dev/toolkits/hubspot) - HubSpot is an all-in-one marketing, sales, and customer service platform. It lets teams nurture leads, automate outreach, and track every customer interaction in one place.
- [Pipedrive](https://composio.dev/toolkits/pipedrive) - Pipedrive is a sales management platform offering pipeline visualization, lead tracking, and workflow automation. It helps sales teams keep deals moving forward efficiently and never miss a follow-up.
- [Salesforce](https://composio.dev/toolkits/salesforce) - Salesforce is a leading CRM platform that helps businesses manage sales, service, and marketing. It centralizes customer data, enabling teams to drive growth and build strong relationships.
- [Apollo](https://composio.dev/toolkits/apollo) - Apollo is a CRM and lead generation platform that helps businesses discover contacts and manage sales pipelines. Use it to streamline customer outreach and track your deals from one place.
- [Attio](https://composio.dev/toolkits/attio) - Attio is a customizable CRM and workspace for managing your team's relationships and workflows. It helps teams organize contacts, automate tasks, and collaborate more efficiently.
- [Acculynx](https://composio.dev/toolkits/acculynx) - AccuLynx is a cloud-based roofing business management software for contractors. It streamlines project tracking, lead management, and document sharing.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Affinity](https://composio.dev/toolkits/affinity) - Affinity is a relationship intelligence CRM that helps private capital investors find, manage, and close more deals. It streamlines deal flow and surfaces key connections to help you win opportunities.
- [Agencyzoom](https://composio.dev/toolkits/agencyzoom) - AgencyZoom is a sales and performance platform built for P&C insurance agencies. It helps agents boost sales, retain clients, and analyze producer results in one place.
- [Bettercontact](https://composio.dev/toolkits/bettercontact) - Bettercontact is a smart contact enrichment tool for finding emails and phone numbers. It helps boost lead generation with automated, waterfall search across multiple sources.
- [Blackbaud](https://composio.dev/toolkits/blackbaud) - Blackbaud provides cloud-based software for nonprofits, schools, and healthcare institutions. It streamlines fundraising, donor management, and mission-driven operations.
- [Brilliant directories](https://composio.dev/toolkits/brilliant_directories) - Brilliant Directories is an all-in-one platform for building and managing online membership communities and business directories. It streamlines listings, member management, and engagement tools into a single, easy interface.
- [Capsule crm](https://composio.dev/toolkits/capsule_crm) - Capsule CRM is a user-friendly CRM platform for managing contacts and sales pipelines. It helps businesses organize relationships and streamline their sales process efficiently.
- [Centralstationcrm](https://composio.dev/toolkits/centralstationcrm) - CentralStationCRM is an easy-to-use CRM software focused on collaboration and long-term customer relationships. It helps teams manage contacts, deals, and communications all in one place.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Close](https://composio.dev/toolkits/close) - Close is a CRM platform built for sales teams, combining calling, email automation, and predictive dialers. It streamlines sales workflows and boosts productivity with all-in-one communication tools.
- [Dropcontact](https://composio.dev/toolkits/dropcontact) - Dropcontact is a B2B email finder and data enrichment service for professionals. It delivers verified email addresses and enriches contact info with up-to-date data.
- [Dynamics365](https://composio.dev/toolkits/dynamics365) - Dynamics 365 is Microsoft's platform combining CRM, ERP, and productivity apps. It streamlines sales, marketing, service, and operations in one place.
- [Espocrm](https://composio.dev/toolkits/espocrm) - EspoCRM is an open-source web application for managing customer relationships. It helps businesses organize contacts, track leads, and streamline their sales process.
- [Fireberry](https://composio.dev/toolkits/fireberry) - Fireberry is a CRM platform that streamlines customer and sales management. It helps businesses organize contacts, automate sales, and integrate with other business tools.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Simla com MCP?

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

### Can I use Tool Router MCP with OpenAI Agents SDK?

Yes, you can. OpenAI Agents SDK 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 Simla com tools.

### Can I manage the permissions and scopes for Simla com while using Tool Router?

Yes, absolutely. You can configure which Simla com 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.

### How safe is my data with Composio Tool Router?

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 Simla com data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
