# Elastic Email

```json
{
  "name": "Elastic Email",
  "slug": "elastic_email",
  "url": "https://composio.dev/toolkits/elastic_email",
  "markdown_url": "https://composio.dev/toolkits/elastic_email.md",
  "logo_url": "https://logos.composio.dev/api/elastic_email",
  "categories": [
    "advertising & marketing"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-21T05:28:18.686Z"
}
```

![Elastic Email logo](https://logos.composio.dev/api/elastic_email)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Elastic Email MCP or direct API to send transactional emails, manage contacts, create campaigns, verify email addresses, and review delivery reports through natural language.

## Summary

Elastic Email is an email delivery and marketing platform for transactional emails, campaigns, contacts, and reporting.
Use it to send reliable emails, manage audiences, verify addresses, and track performance.

## Categories

- advertising & marketing

## Toolkit Details

- Tools: 91

## Images

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

## Authentication

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

## Suggested Prompts

- Send transactional welcome emails to customers
- Verify marketing contact email addresses
- Create campaign for product launch

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `ELASTIC_EMAIL_ADD_CONTACT_LIST_MEMBERS` | Add Contact List Members | Add selected existing contacts to a named Elastic Email contact list. |
| `ELASTIC_EMAIL_ADD_CONTACTS` | Add Contacts | Add up to 1000 Elastic Email contacts and optionally assign them to existing lists. |
| `ELASTIC_EMAIL_ADD_SUPPRESSIONS` | Add Suppressions | Add up to 1000 email addresses to Elastic Email's bounce, complaint, or unsubscribe suppression records. |
| `ELASTIC_EMAIL_ADJUST_SUBACCOUNT_CREDITS` | Adjust Subaccount Credits | Add or remove email credits from a managed Elastic Email subaccount. Requires an Elastic Email PRO plan. The signed adjustment is not idempotent; a retry can apply the adjustment twice. |
| `ELASTIC_EMAIL_CHECK_DOMAIN_RESTRICTED` | Check Domain Restriction | Check whether Elastic Email restricts a domain or identifies it as a free-provider domain. |
| `ELASTIC_EMAIL_CREATE_CAMPAIGN` | Create Campaign | Create a campaign. An active or scheduled campaign may initiate email delivery, and sent messages cannot be recalled. |
| `ELASTIC_EMAIL_CREATE_CONTACT_LIST` | Create Contact List | Create a contact list, optionally with initial email members. |
| `ELASTIC_EMAIL_CREATE_DOMAIN` | Create Domain | Create a sending or tracking domain in the connected Elastic Email account. |
| `ELASTIC_EMAIL_CREATE_INBOUND_ROUTE` | Create Inbound Route | Create a new inbound email route. |
| `ELASTIC_EMAIL_CREATE_SEGMENT` | Create Segment | Create a dynamic contact segment from a name and SQL-like rule. |
| `ELASTIC_EMAIL_CREATE_SUBACCOUNT` | Create Subaccount | Create a managed subaccount with optional initial email settings. An activation email can be sent; when activation email delivery is disabled, the subaccount is activated immediately. Requires an Elastic Email PRO plan. |
| `ELASTIC_EMAIL_CREATE_TEMPLATE` | Create Template | Create a new email template with its name, content, and scope. |
| `ELASTIC_EMAIL_CREATE_WEBHOOK` | Create Webhook | Create a webhook subscription for selected email events. |
| `ELASTIC_EMAIL_DELETE_CAMPAIGN` | Delete Campaign | Delete one campaign by exact name. This does not cancel email already in progress. |
| `ELASTIC_EMAIL_DELETE_CONTACT` | Delete Contact | Delete one contact by exact email address. |
| `ELASTIC_EMAIL_DELETE_CONTACT_LIST` | Delete Contact List | Delete one contact list by exact name. Contacts that belonged to the list are removed from it but are not deleted. |
| `ELASTIC_EMAIL_DELETE_CONTACTS` | Delete Contacts | Permanently delete 1-10 contacts by exact email address. This destructive action sends one targeted deletion per address and reports partial failures; it does not use rule-based bulk deletion. |
| `ELASTIC_EMAIL_DELETE_DOMAIN` | Delete Domain | Delete one configured domain from the connected Elastic Email account. |
| `ELASTIC_EMAIL_DELETE_EMAIL_VERIFICATION` | Delete Email Verification | Delete one saved email verification result by exact email address. |
| `ELASTIC_EMAIL_DELETE_FILE` | Delete File | Permanently delete one stored file by its exact name. |
| `ELASTIC_EMAIL_DELETE_INBOUND_ROUTE` | Delete Inbound Route | Permanently delete one inbound email route by its public ID. |
| `ELASTIC_EMAIL_DELETE_SEGMENT` | Delete Segment | Delete one Elastic Email dynamic contact segment by its exact name. |
| `ELASTIC_EMAIL_DELETE_SUPPRESSION` | Delete Suppression | Remove one email address from Elastic Email suppression records. This can allow sending to resume, so use only with documented recipient consent. |
| `ELASTIC_EMAIL_DELETE_TEMPLATE` | Delete Template | Delete one Elastic Email template by its exact name. |
| `ELASTIC_EMAIL_DELETE_VERIFICATION_FILE` | Delete Verification File | Delete one uploaded verification file job by its VerificationID. |
| `ELASTIC_EMAIL_DELETE_WEBHOOK` | Delete Webhook | Delete one webhook subscription by its public WebhookID. |
| `ELASTIC_EMAIL_DOWNLOAD_FILE` | Download File | Download a stored Elastic Email file by its exact name. |
| `ELASTIC_EMAIL_DOWNLOAD_VERIFICATION_FILE_RESULTS` | Download Verification File Results | Download the ZIP result archive for a completed verification file job. |
| `ELASTIC_EMAIL_GET_CAMPAIGN` | Get Campaign | Return one Elastic Email campaign by its exact name. |
| `ELASTIC_EMAIL_GET_CONTACT` | Get Contact | Return one Elastic Email contact by email address. |
| `ELASTIC_EMAIL_GET_CONTACT_EXPORT_STATUS` | Get Contact Export Status | Get the current status of an asynchronous contact export job. |
| `ELASTIC_EMAIL_GET_CONTACT_LIST` | Get Contact List | Return one Elastic Email contact list by its exact name. |
| `ELASTIC_EMAIL_GET_CREDENTIAL_METADATA` | Get Credential Metadata | Get one Elastic Email API-key or SMTP credential's audit metadata without returning its secret token. |
| `ELASTIC_EMAIL_GET_DOMAIN` | Get Domain | Return detailed DNS and certificate state for one Elastic Email domain. |
| `ELASTIC_EMAIL_GET_EMAIL_JOB_STATUS` | Get Email Job Status | Return delivery status and optional recipient-level details for an Elastic Email transaction. |
| `ELASTIC_EMAIL_GET_EMAIL_PREVIEW` | Get Email Preview | Return the rendered preview, attachment metadata, and delivery status for an Elastic Email message ID. |
| `ELASTIC_EMAIL_GET_EMAIL_VERIFICATION` | Get Email Verification | Return the saved Elastic Email verification result for one email address. |
| `ELASTIC_EMAIL_GET_EVENT_EXPORT_STATUS` | Get Event Export Status | Get the current status of an asynchronous global or channel event export. Use export_scope='global' when Start Event Export had no channel, and export_scope='channel' when it targeted a channel. |
| `ELASTIC_EMAIL_GET_FILE_INFO` | Get File Info | Return metadata for a stored Elastic Email file without downloading it. |
| `ELASTIC_EMAIL_GET_INBOUND_ROUTE` | Get Inbound Route | Return one Elastic Email inbound route by its public ID. |
| `ELASTIC_EMAIL_GET_SEGMENT` | Get Segment | Return one Elastic Email dynamic contact segment by its exact name. |
| `ELASTIC_EMAIL_GET_STATISTICS` | Get Account Statistics | Return aggregate Elastic Email delivery statistics for a time interval. |
| `ELASTIC_EMAIL_GET_STATISTICS_BREAKDOWN` | Get Statistics Breakdown | Return one Elastic Email campaign or channel delivery summary by exact name. |
| `ELASTIC_EMAIL_GET_SUBACCOUNT` | Get Subaccount | Return one managed Elastic Email subaccount by its login email. Requires an Elastic Email PRO plan. |
| `ELASTIC_EMAIL_GET_SUPPRESSION` | Get Suppression | Return suppression details for one Elastic Email address. |
| `ELASTIC_EMAIL_GET_TEMPLATE` | Get Template | Return one Elastic Email template by its exact name. |
| `ELASTIC_EMAIL_GET_VERIFICATION_FILE_RESULTS` | Get Verification File Results | Return one page of detailed results and metadata for a verification file. |
| `ELASTIC_EMAIL_GET_WEBHOOK` | Get Webhook | Return one Elastic Email webhook subscription by its public ID. |
| `ELASTIC_EMAIL_IMPORT_CONTACTS` | Import Contacts | Start an asynchronous contact import using exactly one source: an uploaded CSV file or a provider-accessible CSV URL. |
| `ELASTIC_EMAIL_IMPORT_SUPPRESSIONS` | Import Suppressions | Upload CSV content containing bounced, complained, or unsubscribed email addresses for asynchronous suppression import. |
| `ELASTIC_EMAIL_LIST_CAMPAIGNS` | List Campaigns | Find campaigns by optional name fragment and return one page. |
| `ELASTIC_EMAIL_LIST_CONTACT_LIST_MEMBERS` | List Contact List Members | Return one page of contacts in a named Elastic Email contact list. |
| `ELASTIC_EMAIL_LIST_CONTACT_LISTS` | List Contact Lists | Return one page of contact lists from the connected Elastic Email account. |
| `ELASTIC_EMAIL_LIST_CONTACTS` | List Contacts | Return one page of contacts from the connected Elastic Email account. |
| `ELASTIC_EMAIL_LIST_CREDENTIAL_METADATA` | List Credential Metadata | List API-key or SMTP credential metadata without returning secret tokens. |
| `ELASTIC_EMAIL_LIST_DOMAINS` | List Domains | Return all sending and tracking domains configured for the account. |
| `ELASTIC_EMAIL_LIST_EMAIL_VERIFICATIONS` | List Email Verifications | Return one page of individual email verification results. |
| `ELASTIC_EMAIL_LIST_FILES` | List Files | Return one page of stored files and metadata. |
| `ELASTIC_EMAIL_LIST_INBOUND_ROUTES` | List Inbound Routes | Return all inbound email routing rules in their current order. |
| `ELASTIC_EMAIL_LIST_SEGMENTS` | List Segments | Return one page of dynamic contact segments. |
| `ELASTIC_EMAIL_LIST_STATISTICS_BREAKDOWNS` | List Statistics Breakdowns | Return one page of campaign or channel delivery summaries. |
| `ELASTIC_EMAIL_LIST_SUBACCOUNTS` | List Subaccounts | Return one page of managed subaccounts without credentials or passwords. Requires an Elastic Email PRO plan. |
| `ELASTIC_EMAIL_LIST_SUPPRESSIONS` | List Suppressions | Return one page of all suppressed addresses or only addresses suppressed for bounce, complaint, or unsubscribe reasons. |
| `ELASTIC_EMAIL_LIST_TEMPLATES` | List Templates | Return one page of templates for the required visibility scopes. |
| `ELASTIC_EMAIL_LIST_VERIFICATION_FILES` | List Verification Files | Return all uploaded verification file jobs and their current statuses. |
| `ELASTIC_EMAIL_LIST_WEBHOOKS` | List Webhooks | Return one page of webhook subscriptions. |
| `ELASTIC_EMAIL_PAUSE_CAMPAIGN` | Pause Campaign | Pause an active Elastic Email campaign by exact name, cancelling messages that are still waiting to be sent. |
| `ELASTIC_EMAIL_REMOVE_CONTACT_LIST_MEMBERS` | Remove Contact List Members | Remove selected contacts from a named Elastic Email contact list without deleting the contacts. |
| `ELASTIC_EMAIL_REORDER_INBOUND_ROUTES` | Reorder Inbound Routes | Set the processing order of Elastic Email inbound routing rules. |
| `ELASTIC_EMAIL_SEARCH_EVENTS` | Search Delivery Events | Search all delivery events, one transaction's events, or one channel's events and return one page. |
| `ELASTIC_EMAIL_SEND_EMAIL` | Send Email | Send an email to one or more recipients using inline content or a saved template. Submission causes external delivery and cannot be recalled. |
| `ELASTIC_EMAIL_SEND_MERGE_FILE_EMAIL` | Send Merge File Email | Send personalized email to recipients listed in a CSV merge-data file. Submission causes external delivery and cannot be recalled. |
| `ELASTIC_EMAIL_SEND_TRANSACTIONAL_EMAIL` | Send Transactional Email | Send one transactional message with To, CC, and BCC recipient groups. Submission causes external delivery and cannot be recalled. |
| `ELASTIC_EMAIL_SET_DEFAULT_SENDER_DOMAIN` | Set Default Sender Domain | Set the domain of a verified sender email as the account default. |
| `ELASTIC_EMAIL_START_CONTACT_EXPORT` | Start Contact Export | Start an asynchronous export of all contacts or contacts selected by one filter rule or a list of email addresses. |
| `ELASTIC_EMAIL_START_EVENT_EXPORT` | Start Event Export | Start an asynchronous export for all events or one channel. |
| `ELASTIC_EMAIL_START_VERIFICATION_FILE` | Start Verification File | Start bulk verification for a previously uploaded CSV file. File verification is unavailable on free plans and with subaccount API keys. Usage consumes the monthly plan allowance, which resets monthly and cannot be restored. |
| `ELASTIC_EMAIL_TRIGGER_AUTOMATION` | Trigger Campaign Automation | Enter one contact email into an irreversible automation that may send email or execute later steps and cannot be undone. |
| `ELASTIC_EMAIL_UPDATE_CAMPAIGN` | Update Campaign | Update an existing active or paused campaign. Changes may initiate email delivery, and sent messages cannot be recalled. |
| `ELASTIC_EMAIL_UPDATE_CONTACT` | Update Contact | Update the first name, last name, or custom fields for one Elastic Email contact. |
| `ELASTIC_EMAIL_UPDATE_CONTACT_LIST` | Update Contact List | Update an Elastic Email contact list by providing at least one change: rename it with NewListName or change whether contacts may unsubscribe with AllowUnsubscribe. |
| `ELASTIC_EMAIL_UPDATE_DOMAIN` | Update Domain | Update certificate, VERP, or custom bounce settings for an Elastic Email domain. |
| `ELASTIC_EMAIL_UPDATE_INBOUND_ROUTE` | Update Inbound Route | Replace an existing inbound route definition by public ID. |
| `ELASTIC_EMAIL_UPDATE_SEGMENT` | Update Segment | Replace an existing dynamic contact segment's name and rule. |
| `ELASTIC_EMAIL_UPDATE_SUBACCOUNT_EMAIL_SETTINGS` | Update Subaccount Email Settings | Replace email limits and sender settings for a managed subaccount. Requires an Elastic Email PRO plan. |
| `ELASTIC_EMAIL_UPDATE_TEMPLATE` | Update Template | Replace an existing email template's name, content, and scope. |
| `ELASTIC_EMAIL_UPDATE_WEBHOOK` | Update Webhook | Update a webhook URL, event notification flags, name, or enabled state. |
| `ELASTIC_EMAIL_UPLOAD_FILE` | Upload File | Store a base64-encoded file in the connected Elastic Email account. |
| `ELASTIC_EMAIL_UPLOAD_VERIFICATION_FILE` | Upload Verification File | Upload a CSV containing an email column for a later bulk verification job. This action uploads the file but does not start verification. File verification jobs are unavailable on free plans and with subaccount API keys. |
| `ELASTIC_EMAIL_VERIFY_DOMAIN` | Verify Domain | Ask Elastic Email to re-check a domain's DNS configuration. |
| `ELASTIC_EMAIL_VERIFY_EMAIL` | Verify Email | Run verification for one email address and return its deliverability assessment. Verification is unavailable with subaccount API keys. Free plans support only this single-address verification, not file jobs. Usage consumes the monthly plan allowance, which resets monthly and cannot be restored. |

## 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 Elastic Email Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Elastic Email actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List my Elastic Email campaigns and summarize recent delivery stats.'
  }]
)
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 my Elastic Email campaigns and summarize recent delivery stats.'
  }],
});
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 Elastic Email
```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 Elastic Email tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Verify whether customer@example.com is a valid email address in Elastic Email.')
        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: 'Verify whether customer@example.com is a valid email address in Elastic Email.'
  }],
  maxSteps: 5,
});

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

## Why Use Composio?

### 1. AI Native Elastic Email Integration

- Supports both Elastic Email MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable email, contact, campaign, and reporting actions
- Rich coverage for sending messages, managing lists, checking stats, and verifying addresses

### 2. Managed Auth

- Securely store Elastic Email API keys without hard-coding them in your agent code
- Use auth_configs.create() and connected_accounts.link() to configure and connect user accounts cleanly
- Central place to manage, scope, and revoke Elastic Email access across users and environments

### 3. Agent Optimized Design

- Tools are shaped so agents can understand Elastic Email actions without messy custom integration code
- Execution logs show what your agent sent, queried, or updated, and on whose behalf
- Built-in handling helps reduce failed calls when agents work with campaigns, contacts, and reports

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Elastic Email
- Scoped, least privilege access for sending, reporting, verification, and contact management workflows
- Full audit trail of agent actions to support review, debugging, and compliance

## Use Elastic Email with any AI Agent Framework

Choose a framework you want to connect Elastic Email with:

None listed.

## Related Toolkits

- [Metaads](https://composio.dev/toolkits/metaads) - Metaads is Meta's official Ads API that lets you manage, analyze, and optimize your Facebook and Instagram ad campaigns. Streamline ad operations and gain deeper insights with robust automation.
- [Adrapid](https://composio.dev/toolkits/adrapid) - Adrapid is a platform for rapid creation of digital marketing visuals using templates. It streamlines design workflows for banners, images, and HTML5 content with automation.
- [Adtraction](https://composio.dev/toolkits/adtraction) - Adtraction is an affiliate marketing platform for partner programs, tracking links, transactions, commissions, statistics, and payments. It helps advertisers and publishers manage performance marketing with clear reporting and payout workflows.
- [Adyntel](https://composio.dev/toolkits/adyntel) - Adyntel is an API that retrieves LinkedIn ads for any company using a domain or LinkedIn Page ID. Easily access competitive ad intelligence to power your marketing workflows.
- [Beaconstac](https://composio.dev/toolkits/beaconstac) - Beaconstac is a platform for creating and managing QR codes and proximity beacons. It helps businesses engage customers and track marketing performance with powerful analytics.
- [Bouncify](https://composio.dev/toolkits/bouncify) - Bouncify is an email verification service for single addresses and bulk lists. Use it to reduce bounces, protect sender reputation, and track verification credits.
- [Bulk Email Checker](https://composio.dev/toolkits/bulk_email_checker) - Bulk Email Checker is an email verification service for checking address validity, mailbox status, domains, and mail-server signals. It helps reduce bounces, spot risky emails, and keep outreach lists cleaner before you send.
- [Campaign cleaner](https://composio.dev/toolkits/campaign_cleaner) - Campaign cleaner is an email campaign optimization tool that boosts compatibility and deliverability across email clients. It helps marketers get better results by cleaning, enhancing, and ensuring high performance for every campaign.
- [Deadline funnel](https://composio.dev/toolkits/deadline_funnel) - Deadline Funnel lets you create personalized deadlines and timers for your marketing campaigns. It helps marketers boost conversions by adding authentic urgency to offers.
- [DeBounce](https://composio.dev/toolkits/debounce) - DeBounce is an email verification service for checking address validity, deliverability, and risk. It helps keep contact lists clean so your campaigns reach real inboxes.
- [Easy Email Verification](https://composio.dev/toolkits/easy_email_verification) - Easy Email Verification is an email validation service for checking single addresses and bulk lists. Use it to reduce bounces, clean contact data, and protect sender reputation.
- [Fairing](https://composio.dev/toolkits/fairing) - Fairing is a post-purchase survey and attribution platform for ecommerce brands. It helps teams measure which marketing channels, campaigns, and customer touchpoints drive purchases.
- [GoDaddy MCP](https://composio.dev/toolkits/godaddy_mcp) - GoDaddy MCP is a domain discovery toolkit for checking availability and generating AI-powered name ideas. Use it to move from rough business keywords to practical domain options fast.
- [Google Ads](https://composio.dev/toolkits/googleads) - Google Ads is Google's online advertising platform for creating, managing, and optimizing digital campaigns. It helps businesses reach targeted customers and maximize return on ad spend.
- [Handwrite.io](https://composio.dev/toolkits/handwrite) - Handwrite.io is a direct mail service for creating physical handwritten card orders. It helps teams send personal cards with selectable handwriting, stationery, and tracking.
- [Inblog](https://composio.dev/toolkits/inblog) - Inblog is an AI-powered blogging platform for posts, authors, tags, redirects, design settings, analytics, and lead forms. Use it to manage SEO-focused content, measure performance, and capture blog leads in one place.
- [Instantly](https://composio.dev/toolkits/instantly) - Instantly is a platform for automating cold email outreach, managing leads, and optimizing deliverability. Get better results from email campaigns with minimal manual effort.
- [Invalid Bounce](https://composio.dev/toolkits/invalid_bounce) - Invalid Bounce is an email verification service with a bulk verification API. Use it to clean email lists, reduce bounces, and protect sender reputation.
- [Keyword](https://composio.dev/toolkits/keyword) - Keyword.com is a digital marketing platform for search rank tracking and SEO analytics. Use it to monitor keyword performance, spot ranking changes, and measure SEO visibility.
- [lc.cx](https://composio.dev/toolkits/lc_cx) - lc.cx is a URL shortening service for branded links, workspaces, tags, QR codes, and click stats. Use it to share cleaner links, track performance, and manage branded campaigns from one API.

## Frequently Asked Questions

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

Yes, Elastic Email 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)
