Postmark

Learn how to use Postmark with Composio

Overview

SLUG: POSTMARK

Description

Postmark is an email delivery service that enables developers to send transactional emails with high deliverability and detailed analytics.

Authentication Details

generic_api_key
stringRequired

Connecting to Postmark

Create an auth config

Use the dashboard to create an auth config for the Postmark toolkit. This allows you to connect multiple Postmark accounts to Composio for agents to use.

1

Select App

Navigate to Postmark.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Postmark Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4postmark_auth_config_id = "ac_YOUR_POSTMARK_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Postmark for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, postmark_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Postmark toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["POSTMARK"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Check Spam Score

Description

Tool to assess the spam score of a raw email via the spamcheck api. use when you have full email source and need spam scoring before sending. returns spam score and detailed report.

Action Parameters

email
stringRequired
options
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Template

Description

Tool to create a new email template. use when you need reusable templates before sending emails.

Action Parameters

Alias
string
AssociatedServerId
integer
HtmlBody
stringRequired
LayoutTemplate
string
Name
stringRequired
Subject
stringRequired
TemplateType
stringRequired
TextBody
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Webhook

Description

Tool to delete a specific webhook. use when you need to remove a webhook by its id after confirming it's no longer needed.

Action Parameters

webhookID
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Edit Server

Description

Tool to update settings for the current postmark server. use when you need to modify server configuration.

Action Parameters

BounceHookUrl
Color
string
DeliveryHookUrl
InboundDomain
string
InboundHookUrl
InboundSpamThreshold
integer
Name
stringRequired
OpenHookUrl
PostFirstOpenOnly
boolean
RawEmailEnabled
boolean
SmtpApiActivated
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Edit Template

Description

Tool to update an existing postmark template by its id. use when you need to modify a template's name, subject, html or text body, alias, type, layout, or active status.

Action Parameters

Active
boolean
Alias
string
HtmlBody
string
LayoutTemplate
string
Name
string
Subject
string
TemplateType
string
TextBody
string
templateID
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Edit Webhook

Description

Tool to update an existing webhook’s url or triggers. use when you need to modify webhook settings after confirming the webhookid.

Action Parameters

AuthToken
string
Triggers
objectRequired
Url
stringRequired
webhookID
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Bounces

Description

Tool to retrieve a list of bounces for a server with optional filters. use when you need to page through bounce data after applying filters.

Action Parameters

count
integer
emailFilter
fromdate
inactive
boolean
mailboxHash
string
messageID
string
offset
integer
tag
string
todate
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Browser Platform Usage

Description

Tool to retrieve browser platform usage statistics for clicked links. use after sending outbound emails with tracked links to analyze engagement by browser.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Browser Usage

Description

Tool to retrieve browser usage statistics for clicked links. use after sending tracked outbound emails to analyze which browsers and platforms were used to click links.

Action Parameters

FromDate
Required
ServerID
integer
ToDate
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Click Counts

Description

Tool to retrieve total click counts across all links in emails. use when you need aggregated click metrics for a given date range.

Action Parameters

client_name
string
country
string
fromdate
Required
os
string
platform
string
tag
string
todate
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Delivery Stats

Description

Tool to retrieve delivery statistics. use after sending emails to get aggregated counts of deliveries, bounces, and spam complaints.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Email Client Usage

Description

Tool to retrieve statistics on email clients used to open emails. use when you need to analyze which clients recipients open your outbound emails.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Email Open Counts

Description

Tool to retrieve counts of opened emails. use when you need per-day and total open stats for a specified period.

Action Parameters

FromDate
MessageStream
string
ToDate

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Outbound Overview

Description

Tool to retrieve outbound email statistics overview. use when you need aggregated outbound metrics after sending emails.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Server

Description

Tool to retrieve details of the current postmark server. use when you need to inspect server configuration (webhooks, tracking, tokens, etc.) before other operations.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Spam Complaints

Description

Tool to retrieve counts of spam complaints. use when analyzing spam feedback trends after sending campaigns.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Template

Description

Tool to retrieve details of a specific template by its id. use after obtaining a template id to inspect its configuration.

Action Parameters

templateID
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Tracked Email Counts

Description

Tool to retrieve counts of emails with tracking enabled. use after specifying a date range to analyze open and click metrics.

Action Parameters

fromdate
Required
todate
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Templates

Description

Tool to list all templates for a postmark server. use when you need to retrieve available templates with optional pagination and filters.

Action Parameters

count
integer
offset
integer
templateActive
string
templateType
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Webhooks

Description

Tool to list all webhooks configured for your postmark account. use after authenticating your server token to retrieve current webhook configurations.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send Batch Templated Emails

Description

Tool to send multiple templated emails in a single batch api call. use when you need to send up to 500 templated messages at once.

Action Parameters

Messages
arrayRequired

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Validate Template

Description

Tool to validate a postmark template. use when checking that a template's subject and body render correctly against sample data.

Action Parameters

HtmlBody
string
Subject
string
TemplateType
stringRequired
TestRenderModel
objectRequired
TextBody
string

Action Response

data
objectRequired
error
string
successful
booleanRequired