Skip to content

Integration · Communication

courier.com

Connect Claude & ChatGPT to Courier

Ask your AI whether a notification reached a customer, what a template says, or to send a message through Courier. It can list and read sent messages with their delivery history and rendered content, read templates, lists, audiences, brands and tenants, and look up recipient profiles and preferences. It can also send messages, run automations and manage list subscriptions.

Connect Courier free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Did the password reset email to [email protected] get delivered?”

    The AI finds the message for that recipient and reads its event history: enqueued, sent, delivered, opened or errors.

  • “Send the order-shipped template to user 4821 with order number 10233.”

    It finds the template ID and sends the notification with your data variables. This delivers a real message.

  • “Which messages failed yesterday?”

    It lists sent messages filtered by status and date, with recipient, provider and template.

What your AI can do

Send and track messages

Send notifications by template or with your own title and body, list sent messages, read delivery history and rendered content, and cancel messages not yet sent.

Templates, brands and automations

List and read notification templates and their content, list brands and tenants, run saved automations and list automation runs.

Recipients and lists

Read and update recipient profiles, check preferences, list audiences and their members, and subscribe or unsubscribe recipients from lists.

  • “What does the welcome template say in each channel?”

    It reads the template's content blocks, with text per channel and locale.

  • “Add user 4821 to the product-updates list.”

    It subscribes the recipient to the list and can show which other lists they are on.

  • “Is user 4821 opted out of any notification topics?”

    It reads the recipient's notification preferences and shows which subscription topics they are opted in or out of.

161 tools for Courier

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • add_multiple_tokens_to_userMoves moneyUpdate an existing user identified by user id. Financial or irreversible action; may require approval. API summary: Add multiple tokens to user.
  • add_usersVisible to othersUpdate an existing user identified by job id. Has effects visible outside this system. API summary: Add users.
  • archive_requestVisible to othersArchive a request (request id). Has effects visible outside this system. API summary: Archive message.
  • cancel_broadcastDeletesCancel a broadcast (broadcast id). Destructive action; may require approval. API summary: Cancel Broadcast schedule.
  • cancel_journeyDeletesCancel a journey. Destructive action; may require approval. API summary: Cancel Journey runs.
  • cancel_messageDeletesCancel a message that has not been sent yet (for example a delayed or digested message) by `message_id`.
  • create_a_bulk_jobVisible to othersCreate a new user. Required: message. Has effects visible outside this system. API summary: Create a bulk job.
  • create_brandChanges dataCreate a new brand. Required: name or settings.
  • create_broadcastChanges dataCreate a new broadcast. Required: name or channel. API summary: Create Broadcast.
  • create_broadcast_scheduleVisible to othersCreate a new schedule for a broadcast. Required: recipient type, recipient id or scheduled to. Has effects visible outside this system. API summary: Schedule Broadcast.
  • create_courierChanges dataCreate a new courier. Required: event, message id, properties or type. API summary: Track an event.
  • create_device_setChanges dataCreate a new device set. Required: name or device ids. API summary: Create Device Set.
  • create_invokeChanges dataCreate a new invoke. Required: automation. API summary: Invoke an ad hoc Automation.
  • create_journeyChanges dataCreate a new journey. Required: name or nodes. API summary: Create a Journey.
  • create_journey_invokeChanges dataCreate a new invoke for a journey. API summary: Invoke a Journey.
  • create_journey_templateChanges dataCreate a new template for a journey. Required: channel or notification. API summary: Create a Notification Template scoped to a Journey.
  • create_list_subscriptionChanges dataCreate a new subscription for a list. Required: recipients. API summary: Add subscribers to a List.
  • create_notificationChanges dataCreate a new notification. Required: notification. API summary: Create Notification Template.
  • create_or_replace_a_tenantChanges dataUpdate an existing tenant identified by tenant id. API summary: Create or replace a Tenant.
  • create_profile_subscriptionChanges dataCreate a new subscription for a profile. Required: lists. API summary: Subscribe to one or more Lists.
  • create_providerChanges dataCreate a new provider. Required: provider. API summary: Create a Provider.
  • create_releaseChanges dataCreate a new release. Required: user id. API summary: Release a recipient's digest.
  • create_routing_strategyChanges dataCreate a new routing strategy. Required: name or routing. API summary: Create Routing Strategy.
  • create_runChanges dataCreate a new run. API summary: Create Preview Run.
  • create_schedule_triggerChanges dataCreate a new trigger for a schedule. API summary: Release a digest early.
  • create_sectionChanges dataCreate a new section. Required: name. API summary: Create a Preference Section.
  • create_section_topicChanges dataCreate a new topic for a section. Required: name or default status. API summary: Create Topic in Section.
  • create_userVisible to othersCreate a new user for a user. Required: topics. Has effects visible outside this system. API summary: Update user Preferences in bulk.
  • create_user_runVisible to othersCreate a new run for a user. Has effects visible outside this system. API summary: Run a job.
  • delete_a_tenantDeletesPermanently delete a tenant by tenant id. Destructive action; may require approval.
  • delete_audienceDeletesPermanently delete a audience by audience id. Destructive action; may require approval. API summary: Delete an Audience.
  • delete_brandDeletesPermanently delete a brand by brand id. Destructive action; may require approval.
  • delete_broadcastDeletesPermanently delete a broadcast by broadcast id. Destructive action; may require approval. API summary: Archive Broadcast.
  • delete_device_setDeletesPermanently delete a device set by device set id. Destructive action; may require approval. API summary: Archive Device Set.
  • delete_journeyDeletesPermanently delete a journey by template id. Destructive action; may require approval. API summary: Archive a Journey.
  • delete_journey_templateDeletesPermanently delete a template by notification id. Destructive action; may require approval. API summary: Archive a Journey-scoped Notification Template.
  • delete_listDeletesPermanently delete a list by list id. Destructive action; may require approval.
  • delete_notificationDeletesPermanently delete a notification by notification id. Destructive action; may require approval. API summary: Archive Notification Template.
  • delete_notification_checksMoves moneyPermanently delete a check by submission id. Financial or irreversible action; may require approval. API summary: Cancel submission.
  • delete_productDeletesPermanently delete a product by topic id. Destructive action; may require approval. API summary: Remove default Preferences for Topic.
  • delete_profileDeletesPermanently delete a profile by user id. Destructive action; may require approval.
  • delete_profile_subscriptionsMoves moneyPermanently delete a subscription by user id. Financial or irreversible action; may require approval. API summary: Delete List subscriptions.
  • delete_providerDeletesPermanently delete a provider by provider id. Destructive action; may require approval.
  • delete_routing_strategyDeletesPermanently delete a routing strategy by routing strategy id. Destructive action; may require approval. API summary: Archive Routing Strategy.
  • delete_sectionDeletesPermanently delete a section by section id. Destructive action; may require approval. API summary: Archive a Preference Section.
  • delete_section_topicDeletesPermanently delete a topic by topic id. Destructive action; may require approval. API summary: Archive Topic in Section.
  • delete_tenantDeletesPermanently delete a tenant by tenant id 2. Destructive action; may require approval. API summary: Delete a Tenant Template.
  • delete_topic_digestsMoves moneyPermanently delete a digest by topic id. Financial or irreversible action; may require approval. API summary: Delete a topic's digest.
  • delete_userDeletesPermanently delete a user by topic id. Destructive action; may require approval. API summary: Delete user Subscription Topic.
  • delete_user_tenantDeletesPermanently delete a tenant by tenant id. Destructive action; may require approval. API summary: Remove user from a Tenant.
  • delete_user_tenantsMoves moneyPermanently delete a tenant by user id. Financial or irreversible action; may require approval. API summary: Remove a user from all Tenants.
  • fetch_a_journey_runGet one run by run id. API summary: Fetch a Journey run.
  • get_a_jobGet one user by job id. API summary: Get a job.
  • get_a_tenantGet one tenant by tenant id. API summary: Get a Tenant.
  • get_audienceGet one audience by audience id. API summary: Get an Audience.
  • get_audit_eventGet one audit event by audit event id. API summary: Get an Audit Event.
  • get_brandGet one brand by brand id. API summary: Get a Brand.
  • get_broadcastGet one broadcast by broadcast id. API summary: Get Broadcast.
  • get_device_setGet one device set by device set id. API summary: Get Device Set.
  • get_journeyGet one journey by template id. API summary: Fetch a Journey by id.
  • get_journey_templateGet one template for a journey by notification id. API summary: Fetch a Journey-scoped Notification Template by id.
  • get_listGet one list by `list_id`.
  • get_messageGet one message by `message_id`, including its delivery status, recipient, provider and timestamps.
  • get_message_contentGet the rendered content of a sent message by `message_id`, per channel.
  • get_message_historyGet the event history of a message by `message_id` (enqueued, sent, delivered, opened, clicked, errors).
  • get_profileGet a recipient's profile by `user_id`, including email, phone number and custom fields.
  • get_providerGet one provider by provider id. API summary: Get a Provider.
  • get_routing_strategyGet one routing strategy by routing strategy id. API summary: Get Routing Strategy.
  • get_runGet one run by preview run id. API summary: Get Preview Run.
  • get_sectionGet one section by section id. API summary: Get a Preference Section.
  • get_section_topicGet one topic for a section by topic id. API summary: Get Topic in Section.
  • get_templateGet one notification template by `notification_id`, including its channels and settings.
  • get_template_contentGet the content blocks of a notification template by `notification_id`, including text per channel and locale.
  • get_template_tenantGet one tenant for a template by version. API summary: Get a Template version.
  • get_tenantGet one tenant for a tenant by tenant id 2. API summary: Get a Template in Tenant.
  • get_translationGet one translation by locale. API summary: Get a Translation.
  • get_userGet one user for a user by topic id. API summary: Get user Subscription Topic.
  • get_user_preferencesGet a recipient's notification preferences by `user_id`: which subscription topics they are opted in or out of.
  • get_usersList users for a user. Results are paginated. API summary: Get users.
  • list_audience_membersList the recipients in an audience by `audience_id`. Pages with `cursor`.
  • list_audiencesList audiences (dynamic recipient groups defined by filters). Pages with `cursor`.
  • list_audit_eventsList audit events. Results are paginated.
  • list_automation_runsList automation runs, filtered by `status`, `template_id` or a `start_date`/`end_date` range.
  • list_automationsList automations. Optional filters: version. Results are paginated.
  • list_brandsList the brands (logo, colors, footer styling) used in your notifications.
  • list_broadcast_contentsList contents for a broadcast. Optional filters: version. API summary: Get Broadcast content.
  • list_broadcastsList broadcasts. Results are paginated.
  • list_device_setsList device sets.
  • list_devicesList devices. API summary: List Preview Devices.
  • list_journey_runsList runs. Optional filters: status, template id, start date or end date. Results are paginated. API summary: List Journey runs.
  • list_journey_templatesList templates for a journey. Results are paginated. API summary: List Notification Templates scoped to a Journey.
  • list_journey_versionsList versions for a journey. API summary: List versions of a Journey.
  • list_journeysList journeys. Optional filters: version. Results are paginated.
  • list_list_subscribersList the recipients subscribed to a list by `list_id`. Pages with `cursor`.
  • list_listsList your subscription lists, optionally filtered by `pattern`. Pages with `cursor`.
  • list_logsList logs. Optional filters: user id, tenant id or since. Results are paginated. API summary: List preference changes.
  • list_messagesList sent messages, filtered by `recipient`, `status`, `notification` (template), `provider`, `tags`, `list` or `enqueued_after`. Pages with `cursor`.
  • list_notification_checksList checks for a notification. API summary: Get submission checks.
  • list_notification_metricsList metrics for a notification. Optional filters: granularity, lookback, start or end. API summary: Get Notification Template Metrics.
  • list_notification_versionsList versions for a notification. Results are paginated. API summary: List Notification Template Versions.
  • list_profile_listsList the lists a recipient (`user_id`) is subscribed to.
  • list_providersList providers. Results are paginated.
  • list_routing_strategiesList routing strategies. Results are paginated.
  • list_routing_strategy_notificationsList notifications for a routing strategy. Results are paginated.
  • list_run_stepsList steps for a run. API summary: List steps for an Automation run.
  • list_runsList runs. Results are paginated. API summary: List Preview Runs.
  • list_schedule_instancesList instances for a schedule. Results are paginated. API summary: List digest instances.
  • list_section_topicsList topics for a section. API summary: List Topics in Section.
  • list_sectionsList sections. API summary: List Preference Sections.
  • list_steps_for_a_journey_runList steps for a run. API summary: List steps for a Journey run.
  • list_template_contentsList contents for a template. Optional filters: version. API summary: Fetch the content of a Journey-scoped Notification Template.
  • list_template_tenantsList tenants for a template. API summary: List versions of a Journey-scoped Notification Template.
  • list_templatesList notification templates, optionally filtered by `tags` or `event_id`. Pages with `cursor`. Use to find a template ID for send_message.
  • list_tenant_usersList users for a tenant. Results are paginated. API summary: Get users in Tenant.
  • list_tenantsList tenants (customer organizations or workspaces set up in Courier). Pages with `cursor`.
  • list_tenants_2List tenants for a tenant. Results are paginated. API summary: List Templates in Tenant.
  • list_tokensList users for a user. API summary: List tokens.
  • list_user_tenantsList tenants for a user. Results are paginated. API summary: List a user's Tenants.
  • restore_listChanges dataRestore a list (list id).
  • run_automationChanges dataRun a saved automation template by `template_id` for a `recipient`, with optional `data` and `profile`. This may send real messages.
  • search_catalogsSearch catalogs by keys, name or channel. Use this to find existing catalogs before creating a new catalog. API summary: List available Provider types.
  • send_broadcastVisible to othersSend a broadcast (broadcast id). Has effects visible outside this system. API summary: Send Broadcast.
  • send_messageVisible to othersSend a notification. Pass `message` as an object with `to` (e.g. {"email": ...}, {"phone_number": ...} or {"user_id": ...}) plus either `template` (a template ID) with `data` variables, or `content` with `title` and `body`. This delivers a real email, SMS, push or chat message.
  • submit_auth_tokenDeletesIssue a auth. Destructive action; may require approval. API summary: Create a JWT.
  • submit_broadcastVisible to othersDuplicate a broadcast (broadcast id). Has effects visible outside this system. API summary: Duplicate Broadcast.
  • submit_journeyVisible to othersPublish a journey (template id). Has effects visible outside this system.
  • submit_messageVisible to othersResend a message (message id). Has effects visible outside this system. API summary: Resend message.
  • submit_notificationVisible to othersPublish a notification (notification id). Has effects visible outside this system. API summary: Publish Notification Template.
  • submit_preferenceVisible to othersPublish a preference. Has effects visible outside this system. API summary: Publish Preferences page.
  • submit_templateVisible to othersPublish a template (notification id). Has effects visible outside this system. API summary: Publish a Journey-scoped Notification Template.
  • submit_tenantVisible to othersPublish a tenant (template id). Has effects visible outside this system. API summary: Publish a Tenant Template.
  • subscribe_to_listChanges dataSubscribe one recipient (`user_id`) to a list (`list_id`), with optional preferences.
  • unsubscribe_from_listDeletesRemove one recipient (`user_id`) from a list (`list_id`).
  • update_audienceChanges dataUpdate an existing audience identified by audience id. API summary: Update an Audience.
  • update_brandChanges dataUpdate an existing brand identified by brand id. API summary: Replace a Brand.
  • update_broadcastVisible to othersUpdate an existing broadcast identified by broadcast id. Has effects visible outside this system. API summary: Update Broadcast.
  • update_broadcast_contentsDeletesUpdate an existing content identified by broadcast id. Destructive action; may require approval. API summary: Update Broadcast content.
  • update_device_setChanges dataUpdate an existing device set identified by device set id. API summary: Update Device Set.
  • update_journeyChanges dataUpdate an existing journey identified by template id. API summary: Replace a Journey.
  • update_journey_templateChanges dataUpdate an existing template identified by notification id. API summary: Replace a Journey-scoped Notification Template.
  • update_listChanges dataUpdate an existing list identified by list id. API summary: Update a List.
  • update_list_subscriptionsVisible to othersUpdate an existing subscription identified by list id. Has effects visible outside this system. API summary: Subscribe users to a List.
  • update_notificationChanges dataUpdate an existing notification identified by notification id. API summary: Replace Notification Template.
  • update_notification_checksVisible to othersUpdate an existing check identified by submission id. Has effects visible outside this system. API summary: Replace submission checks.
  • update_notification_contentsVisible to othersUpdate an existing content identified by notification id. Has effects visible outside this system. API summary: Replace Notification Content.
  • update_notification_elementChanges dataUpdate an existing element identified by element id. API summary: Replace Notification Element.
  • update_notification_localeChanges dataUpdate an existing locale identified by locale id. API summary: Replace Notification Locale.
  • update_productChanges dataUpdate an existing product identified by topic id. API summary: Create or replace default Preferences for Topic.
  • update_profileChanges dataChange a recipient's profile by `user_id` with a list of `patch` operations (`op` such as replace or add, `path` such as /email, and `value`).
  • update_providerChanges dataUpdate an existing provider identified by provider id. API summary: Update a Provider.
  • update_routing_strategyChanges dataUpdate an existing routing strategy identified by routing strategy id. API summary: Replace Routing Strategy.
  • update_sectionChanges dataUpdate an existing section identified by section id. API summary: Replace a Preference Section.
  • update_section_topicChanges dataUpdate an existing topic identified by topic id. API summary: Replace Topic in Section.
  • update_template_contentsVisible to othersUpdate an existing content identified by notification id. Has effects visible outside this system. API summary: Replace the content of a Journey-scoped Notification Template.
  • update_template_localeChanges dataUpdate an existing locale identified by locale id. API summary: Replace a locale of a Journey-scoped Notification Template.
  • update_tenantChanges dataUpdate an existing tenant identified by tenant id 2. API summary: Create or update a Tenant Template.
  • update_translationChanges dataUpdate an existing translation identified by locale. API summary: Update Translations by locale.
  • update_userChanges dataUpdate an existing user identified by topic id. API summary: Update or create user Preferences for a Subscription Topic.
  • update_user_tenantChanges dataUpdate an existing tenant identified by tenant id. API summary: Add a user to a Tenant.
  • update_user_tenantsVisible to othersUpdate an existing tenant identified by user id. Has effects visible outside this system. API summary: Add a user to multiple Tenants.
  • update_usersVisible to othersUpdate an existing user identified by user id. Has effects visible outside this system. API summary: Replace user Preferences in bulk.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Courier from the app list.

  2. 2

    Paste your key

    Paste a Courier API key. In Courier, open your workspace Settings > API Keys and copy a key for the environment you want. Production and Test each have their own keys, so pick the key for the environment the AI should work in.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Courier?

It can list and read sent messages, their delivery history and rendered content, notification templates and their content, lists and subscribers, audiences and members, brands, tenants, automation runs, and recipient profiles and preferences. It can send notifications, run automations, cancel unsent messages, update recipient profiles, and subscribe or unsubscribe recipients from lists.

Does the AI see my Courier credentials?

No. Your Courier API key is encrypted at rest and never shown to the AI. After you save it, it is not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with delivery lookups only. Sending a message and running an automation deliver real email, SMS, push or chat messages, and those actions, like cancelling a message or unsubscribing a recipient, can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own Courier account.

Should I use a Production or a Test API key?

Each Courier environment, Production or Test, has its own API keys, and the AI works in the environment whose key you save. You can start with a Test key to try things in your Test environment, and save a Production key in HeyMyApps when you want the AI to work with your live messages, templates and recipients.

Let your AI work in Courier today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Courier free

HeyMyApps is not affiliated with Courier. Product names are trademarks of their owners.