Handwrytten Integration for AI Agents

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Handwrytten MCP or direct API to send handwritten notes, schedule personalized card deliveries, manage templates, and track order status through natural language.
Handwrytten Logo
Gradient Top
Gradient Middle
Gradient Bottom
divider

Try Handwrytten now

Enter a prompt below to test the integration in our Tool Router playground. You'll be redirected to sign in and try it live.

Supported Tools

Tools
Add RecipientTool to add a recipient address to the user's addressbook in Handwrytten.
Calculate Order TaxesTool to calculate taxes for Handwrytten basket orders.
Check AuthenticationTool to verify API key authentication validity for Handwrytten.
Clear BasketTool to clear all items from the shopping basket.
Create TemplateTool to create a new template for the current user.
Create User AddressTool to create a new user address in Handwrytten.
Delete Custom ImageTool to delete a custom image/logo from Handwrytten.
Delete Recipient AddressTool to delete one or more recipient addresses from user's profile.
Delete TemplateTool to delete a user's template by its ID.
Get Basket (New Method)Tool to retrieve the user's basket using the new method.
Get Basket CountTool to retrieve the count of items currently in the basket.
Get Basket ItemTool to retrieve a basket item by its ID from Handwrytten.
Get Card DetailsTool to get detailed information about a specific card in the Handwrytten catalog.
Get List of AddressesTool to retrieve a list of all addresses associated with the user's account.
Get Random CardsTool to retrieve random cards from Handwrytten.
Get Template DetailsTool to get detailed information about a card text template in the Handwrytten catalog.
Get Current User InfoTool to retrieve information about the currently authenticated user.
Get User AddressTool to retrieve the authenticated user's address and billing information.
List Basket Orders GroupedTool to list all basket orders grouped by basket.
List Past BasketsTool to retrieve a list of user's past baskets.
List CardsTool to retrieve a list of available Handwrytten cards with optional filtering and pagination.
List CategoriesTool to retrieve the list of available card categories from Handwrytten.
List CountriesTool to retrieve the list of countries available in Handwrytten.
List Credit CardsTool to list all credit cards associated with the Handwrytten account.
List FontsTool to retrieve the list of available handwriting fonts.
List Fonts for CustomizerTool to list fonts available for use with the card customizer.
List Gift CardsTool to retrieve the list of available gift cards with their denominations and pricing.
List Custom User ImagesTool to retrieve a list of custom user images uploaded to Handwrytten.
List InsertsTool to retrieve a list of available inserts from Handwrytten.
List OrdersTool to retrieve a list of user's past orders from Handwrytten.
List Orders GroupedTool to retrieve the user's order history grouped by basket.
List Past OrdersTool to retrieve a list of user's past orders from Handwrytten API.
List RecipientsTool to retrieve a list of recipient addresses that the user has previously saved.
List SignaturesTool to retrieve the list of available signatures for use in card orders.
List StatesTool to retrieve the list of states/provinces available in Handwrytten.
List Template CategoriesTool to retrieve the list of available template categories from Handwrytten.
List TemplatesTool to retrieve a list of card text templates from Handwrytten.
Logout UserTool to logout user from Handwrytten application.
Place Order in BasketTool to add an order to the basket in Handwrytten.
Register UserTool to register a new Handwrytten user account.
Request Password ResetTool to request a password reset email for a Handwrytten account.
Set Default AddressTool to set a default return address for the user in Handwrytten.
Set Test ModeTool to set test mode for the current Handwrytten user.
Update Basket ItemTool to update an existing basket item in Handwrytten.
Update Billing InformationTool to update user billing information (country, zip, address) for tax calculations in Handwrytten.
Update RecipientTool to update a recipient address in the user's addressbook in Handwrytten.
Update TemplateTool to update an existing user template in Handwrytten.
Upload Custom LogoTool to upload a custom image (logo or cover) to Handwrytten for use with custom cards.
Python
TypeScript

Install Composio

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

Initialize Client and Create Tool Router Session

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
Import and initialize the Composio client, then create a Tool Router session for Handwrytten

Connect to AI Agent

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 Handwrytten tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Send a birthday card to Alex at 456 Oak Avenue.')
        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())
Use the MCP server with your AI agent (Anthropic Claude or Mastra)

Why Use Composio?

AI Native Handwrytten Integration

  • Supports both Handwrytten MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Handwrytten data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Handwrytten access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

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

Frequently Asked Questions

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

Yes, Handwrytten requires you to configure your own API key credentials. 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.

Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. Learn more.

What if the API changes?

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

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.