# Holded

```json
{
  "name": "Holded",
  "slug": "holded",
  "url": "https://composio.dev/toolkits/holded",
  "markdown_url": "https://composio.dev/toolkits/holded.md",
  "logo_url": "https://logos.composio.dev/api/holded",
  "categories": [
    "finance & accounting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-20T15:32:20.043Z"
}
```

![Holded logo](https://logos.composio.dev/api/holded)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Holded MCP or direct API to manage invoices, query contacts, organize tags, and review sales documents through natural language.

## Summary

Holded is business management software for invoices, sales documents, services, contacts, groups, and tags.
It helps teams keep finance and customer operations organized in one place.

## Categories

- finance & accounting

## Toolkit Details

- Tools: 10

## Images

- Logo: https://logos.composio.dev/api/holded

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Holded.
  - Setup:
    - Configure Api Key credentials for Holded.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Create invoices for approved sales orders
- List unpaid invoices due this week
- Find contacts missing tax details

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `HOLDED_CREATE_CONTACT` | Create Contact | Create a customer, supplier, lead, debtor, creditor, or unclassified contact and return its new Holded ID. |
| `HOLDED_CREATE_INVOICE` | Create Invoice | Create a sales invoice for an existing contact and return its ID; this does not send, approve, or record payment for the invoice. |
| `HOLDED_DELETE_CONTACT` | Delete Contact | Permanently delete one contact by ID; linked documents keep display text but lose the live contact association. |
| `HOLDED_DELETE_INVOICE` | Delete Invoice | Permanently delete one invoice and its recorded payments; its document number is not reused. |
| `HOLDED_FIND_CONTACTS` | Find Contacts | Find Holded contacts by name prefix or an exact email, phone, mobile, tax ID, or external ID. With no filter, return one page of contacts. |
| `HOLDED_FIND_INVOICES` | Find Invoices | Find Holded invoices by fuzzy document-number prefix or list them by contact, payment status, issue date, or due date. With no filter, return one page of invoices. |
| `HOLDED_GET_CONTACT` | Get Contact | Return the complete profile of one contact by its Holded contact ID. |
| `HOLDED_GET_INVOICE` | Get Invoice | Return full details, lines, totals, and payment summary for one invoice by its Holded ID. |
| `HOLDED_UPDATE_CONTACT` | Update Contact | Safely change selected fields on a contact without clearing unspecified profile data. Reads the contact before updating and returns the verified result. |
| `HOLDED_UPDATE_INVOICE` | Update Invoice | Safely change selected mutable fields on an invoice without clearing unspecified invoice data or altering recorded payments. Reads the invoice before updating and returns the verified result. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Holded Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Holded actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List all unpaid Holded invoices due this week'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List all unpaid Holded invoices due this week'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Holded
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Holded tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Find Holded contacts missing tax details')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Create invoices for approved Holded sales orders'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Holded Integration

- Supports both Holded MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable invoice, contact, and sales document actions
- Rich coverage for reading, writing, and querying your Holded business data

### 2. Managed Auth

- Secure API key handling without hard-coding Holded credentials in your agent code
- Central place to manage, scope, and revoke Holded access
- Per user and per environment credentials for safer finance workflows

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Clear schemas help agents understand Holded objects like invoices, contacts, services, tags, and groups
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Holded
- Scoped, least privilege access to Holded resources
- Full audit trail of agent actions to support finance review and compliance

## Use Holded with any AI Agent Framework

Choose a framework you want to connect Holded with:

None listed.

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.
- [44API](https://composio.dev/toolkits/44api) - 44API is an API service for validating VAT and tax identifiers and returning company details. Use it to verify business tax data and manage account IP whitelists quickly.
- [Aiwyn Tax MCP](https://composio.dev/toolkits/aiwyn_tax_mcp) - Aiwyn Tax MCP is a tax estimation service powered by Aiwyn's federal and state tax engine. It helps teams estimate tax outcomes without building tax calculation logic from scratch.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [Billsby](https://composio.dev/toolkits/billsby) - Billsby is a subscription billing platform for managing customers, subscriptions, invoices, products, plans, usage counters, add-ons, and allowances. It helps SaaS and subscription teams automate billing operations without building complex billing logic from scratch.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clarity AI MCP](https://composio.dev/toolkits/clarity_ai_mcp) - Clarity AI MCP is an MCP toolkit for simulating SFDR 2.0 fund classifications from a fund name, ISIN, or CUSIP. Use it to tap Clarity AI disclosure data and modeling without building custom sustainability-data workflows.
- [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.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.
- [Coupa](https://composio.dev/toolkits/coupa) - Coupa is a business spend management platform for procurement, invoicing, and expenses. It helps organizations streamline purchasing, control costs, and gain complete visibility over financial operations.
- [CurrencyScoop](https://composio.dev/toolkits/currencyscoop) - CurrencyScoop is a developer-friendly API for real-time and historical currency exchange rates. Easily access fiat and crypto data for smart, up-to-date financial applications.
- [Daffy](https://composio.dev/toolkits/daffy) - Daffy is a modern charitable giving platform with a donor-advised fund. Easily set aside funds, grow them tax-free, and donate to over 1.7 million U.S. charities.
- [Didit](https://composio.dev/toolkits/didit) - Didit is an identity verification and compliance API platform for KYC, KYB, AML, and fraud prevention. It helps teams onboard users faster while reducing risk and meeting compliance needs.
- [Donately](https://composio.dev/toolkits/donately) - Donately is a fundraising platform for campaigns, donations, recurring giving, donors, forms, fundraisers, and webhooks. It helps nonprofits and fundraising teams manage online giving workflows in one place.
- [Eagle doc](https://composio.dev/toolkits/eagle_doc) - Eagle doc is an AI-powered OCR API for invoices and receipts. It delivers fast, reliable, and accurate document data extraction for seamless automation.

## Frequently Asked Questions

### Do I need my own developer credentials to use Holded with Composio?

Yes, Holded requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

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