ClawLink

How to connect SendGrid to Hermes Agent

Connect SendGrid to Hermes with ClawLink: paste your SendGrid key once and 359 tools work from chat. No MCP server to run, nothing stored on your machine.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
SendGrid
SendGrid
SendGridAPI KEYMCP

Deliver transactional and marketing emails. Once connected, Hermes Agent can read and act on SendGrid from chat — pairing, token refresh, and tool wiring handled for you.

359 tools

Most guides for giving Hermes Agent SendGrid access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical SendGrid setup: pair once in the browser and your always-on Hermes agent can act on SendGrid for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into Hermes to install the plugin and pair your account.

Prompt for Hermes
Set up ClawLink for Hermes and tell me when it's ready.

1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable

2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin

3. I'll approve it in my browser, then reply "approved".

4. When I say approved, finish setup:
hermes clawlink finish

5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.

Setup

It takes three steps to connect Hermes to SendGrid.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect SendGrid

    Paste your API key in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with SendGrid?"

Install by command

The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin    # prints an approval link — open it and approve
hermes clawlink finish   # after approving in the browser
hermes clawlink test

Then connect SendGrid in the ClawLink dashboard — paste your SendGrid API key once.

Verify the connection by asking Hermes:

Send an email to <address> with subject <subject> using a verified sender identity, and show me the exact message body before you send it. Do not send until I approve the body.

Using a different agent?

The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once SendGrid is connected in the dashboard, that agent calls the same 359 SendGrid tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

SendGrid MCP for Hermes

Looking for a SendGrid MCP server for Hermes Agent? ClawLink connects SendGrid to Hermes Agent and exposes 359 SendGrid tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw SendGrid integration works the same way.

The strongest argument against this integration is the one search results make for you: SendGrid is send-only, it has no inbound receiving and no reply threading, and an autonomous agent loop that must read replies cannot live on it alone. That argument is accurate, and the 359 tools below make the point from the inside: every one of them is send, marketing, or account side, from sending mail to building campaigns, templates, and contact lists to reading delivery statistics. There is no pretending the tools read inbound mail, because they do not, and the agent's IMAP side of Hermes handles receiving. What the argument misses is that SendGrid's whole surface being send side is why it is the right connection for the sending half of an agent's email loop. The key is a SendGrid API key pasted once into the hosted setup page and held server-side, which is the direct answer to the search-result warning that you should not paste keys into chat windows: the key never goes into a chat, and it never sits in an environment file on your machine.

What the Hermes Agent SendGrid integration can do

359 SendGrid tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 359.

30 of 359 SendGrid tools for Hermes

ToolWhat it does
Add or update a contact sendgrid_add_or_update_a_contactAdd or update a SendGrid contact
Create a campaign sendgrid_create_a_campaignCreate a SendGrid campaign
Create a custom field sendgrid_create_a_custom_fieldCreate a SendGrid custom field
Create a list sendgrid_create_a_listCreate a SendGrid contact list
Create a transactional template sendgrid_create_a_transactional_templateCreate a SendGrid transactional email template
Get a user s account information sendgrid_get_a_user_s_account_informationGet SendGrid account information
Get all automation stats sendgrid_get_all_automation_statsGet SendGrid automation statistics
Get all categories sendgrid_get_all_categoriesList SendGrid email categories
Get all field definitions sendgrid_get_all_field_definitionsList SendGrid custom field definitions
Get all sender identities sendgrid_get_all_sender_identitiesList SendGrid sender identities
Get all single sends sendgrid_get_all_single_sendsList SendGrid single sends
Completed steps sendgrid_completed_stepsRetrieves the verification status of a SendGrid account, checking if Domain Authentication and
Domain warn list sendgrid_domain_warn_listRetrieves a list of domains known to implement DMARC (Domain-based Message Authentication
Download CSV sendgrid_download_csvRetrieves a presigned S3 URL to download a CSV file of email activity data (up to 1M events
Export contacts status sendgrid_export_contacts_statusRetrieves the status of a contact export job and provides download URLs when ready
Export single send stats sendgrid_export_single_send_statsExports Single Send campaign statistics in CSV format
Filter all messages sendgrid_filter_all_messagesFilter and retrieve email activity from the SendGrid Email Activity Feed API
Filter messages by message ID sendgrid_filter_messages_by_message_idRetrieve detailed information about a specific email message by its unique message ID
Get a contact by ID sendgrid_get_a_contact_by_idRetrieves the full details of a single contact by their unique ID from SendGrid Marketing
Get a list of all ip addresses on your account sendgrid_get_a_list_of_all_ip_addresses_on_your_accountFetches your account's IP addresses with details such as pool association and warm-up status
Get a list of all senders sendgrid_get_a_list_of_all_sendersRetrieves a list of all Sender identities associated with your SendGrid account
Get a list of subusers assigned to an ip sendgrid_get_a_list_of_subusers_assigned_to_an_ipRetrieves a list of Subuser IDs assigned to a specific IP address in your SendGrid account
Get a specific sender sendgrid_get_a_specific_senderRetrieves the details of a specific Marketing Sender by its unique ID
Get a user s profile sendgrid_get_a_user_s_profileRetrieve the authenticated user's profile details
Get account offerings sendgrid_get_account_offeringsRetrieves the offerings (email packages and add-ons) assigned to a specific customer account
Get all accounts sendgrid_get_all_accountsRetrieves all accounts under the organization
Get all available offerings sendgrid_get_all_available_offeringsRetrieves all available SendGrid offerings for account provisioning
Get all existing exports sendgrid_get_all_existing_exportsRetrieves all existing contact export jobs from SendGrid Marketing Campaigns
Get all ip pools that have associated ips sendgrid_get_all_ip_pools_that_have_associated_ipsThe function lists your IP Pools and samples up to 10 IPs from each
Get all single sends stats sendgrid_get_all_single_sends_statsRetrieve email statistics for SendGrid Single Sends (one-time marketing email campaigns)

Try it: find the SendGrid tool you need

Browse the 30 SendGrid tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

Send an email to <address> with subject <subject> using a verified sender identity, and show me the exact message body before you send it. Do not send until I approve the body.

Use sendgrid_get_all_single_sends_stats and sendgrid_filter_all_messages for the last 7 days. Tell me delivered versus bounced rates and which messages had the most failures.

List my existing contacts and lists with sendgrid_get_a_contact_by_id and the list tools, then tell me which segments I could target for a campaign about <topic>. Do not create anything yet.

Show me my transactional templates and tell me which ones are missing a subject line or have a known rendering issue, using the template tools. Do not send anything.

How the SendGrid tools behave

Details that decide whether a SendGrid prompt is a quick answer or a deliverability incident.

  • The surface is send, marketing, and account side, in that order of risk. Sending mail and creating campaigns, templates, and contacts are the writes to be deliberate about; the read side covers message history, statistics, sender identities, IP pools, and subusers.
  • Sender identity verification gates real sending. sendgrid_get_all_sender_identities and sendgrid_get_a_specific_sender show which senders are verified; sending from an unverified identity fails with a sender-authentication error before any message goes out.
  • Contacts are objects, not rows. sendgrid_add_or_update_a_contact, sendgrid_create_a_list, and sendgrid_create_a_custom_field operate on the account's contact model, so a bad field name or list name lands in shared marketing state, not in a scratch file.
  • Stats are aggregated on the account side. sendgrid_get_all_automation_stats, sendgrid_get_all_single_sends_stats, and sendgrid_export_single_send_stats are the report surface; per-message filters like sendgrid_filter_all_messages are the expensive shape when used to reconstruct what a stats tool already summarizes.
  • Exports are asynchronous. sendgrid_export_contacts_status and sendgrid_download_csv run a job and download the result, so an agent should poll status rather than assume the CSV arrives instantly.
  • No inbound surface, by design. None of the tools read received mail; pairing this connection with Hermes' IMAP side is the way the agent gets a full email loop, and prompts should not pretend otherwise.

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want SendGrid working from chat.

ManualClawLink
Credential handlingCollect, validate, store, and rotate the SendGrid API key yourself, then make sure every tool call uses the right account.Users complete the hosted ClawLink setup once and the connected SendGrid account becomes available to the agent without you building credential management.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for SendGrid.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right SendGrid actions to the runtime in a format your agent can reliably use.359 tools for SendGrid are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes SendGrid to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect SendGrid in the browser, and the 359 tools above work from chat. There is no SDK and no config file, and the SendGrid key you paste at setup is stored server-side rather than kept in your environment. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

Hermes paired but still can't use SendGrid

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.

Connection succeeds but no tools appear

Reconnect SendGrid from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling SendGrid tools

SendGrid tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every SendGrid call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

SendGrid returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

SendGrid returns 403 although the account shows as connected

On SendGrid the 403 means the key is authentic but lacks the permission for the action, which is different from a 401 where the key itself is broken or mistyped. The taught causes, in the order search results give them: the key's scope is too narrow (fix: edit the key in SendGrid and switch to Full Access), the request is coming from outside the account's IP access management allowlist, or the account itself is suspended or against a billing or trial limit. A hosted connection fails these exactly like a manual one, because they are SendGrid account state, not connection state. The page's own cause remains the fourth one: a placeholder argument such as YOUR_ID reaching the API literally. Re-paste the current key, confirm the account status, then re-run with real arguments before assuming the connection is at fault.

Ask the agent to diagnose it:

Call sendgrid_get_a_user_s_account_information and tell me the account status, then quote the exact error text from the failed call. Do not retry the failed call yet.
SendGrid calls start failing with rate-limit responses

SendGrid rate-limits different endpoints on different windows, and an agent that walks a contact list or message history one page at a time is the traffic shape that meets them. The fix is to narrow and pace the work: ask for a bounded page rather than a full export, use the statistics tools that aggregate instead of the per-record filters, and have the agent report the error's rate-limit detail rather than retry blindly. These limits are Twilio-side and documented in their docs; no reconnect changes them.

Ask the agent to diagnose it:

Tell me how many SendGrid calls you made in the last minute and what you were enumerating. Quote the exact error text and any rate-limit headers. Do not call SendGrid again until I reply.
SendGrid tools are missing, or one tool name is not found

Two failures share this symptom. If no SendGrid tools appear at all, the connection or pairing is incomplete: confirm the plugin was installed with --enable, that hermes clawlink begin and hermes clawlink finish both ran, and that SendGrid shows as connected in the dashboard. If most tools work and one name fails, the name is wrong rather than missing, and the error lists the closest real ones. There is also a first-call timing case: schemas load on demand, so the opening SendGrid call in a fresh session can arrive before the catalog and needs one retry. What does not apply is the usual advice for this symptom, which assumes a community MCP server missing from a client config file; there is no local server here.

Ask the agent to diagnose it:

List the SendGrid tools you actually have access to. If there are none, say so plainly and tell me whether SendGrid shows as connected. Do not guess tool names.
API key setup works but results look incomplete

Double-check that the API key for SendGrid has the right scopes or account access. A valid key can still be too limited for some reads or writes.

FAQ

Is there a Hermes Agent SendGrid integration?

Yes. ClawLink is the fastest way to connect Hermes to SendGrid: link your SendGrid account once in the browser and Hermes Agent can call the SendGrid API through 359 ready-made tools — no custom code or token handling.

How do I connect SendGrid to Hermes with ClawLink?

Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect SendGrid in the dashboard and Hermes can use it from the next message — no config files, and the SendGrid key you paste is stored server-side instead of in your environment.

How long does it take to connect SendGrid to Hermes Agent?

About two minutes. Sign in, click Connect next to SendGrid in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring SendGrid up myself?

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want SendGrid working from chat.

Can the agent read replies or thread conversations through SendGrid?

No, and that is the honest answer the AI Overviews give about this provider: SendGrid is send-only, with no inbound inbox and no reply threading. Reading replies belongs to an IMAP connection, which Hermes handles separately. This integration is the sending and marketing surface: mail, templates, campaigns, contacts, lists, and delivery analytics. If your loop depends on reading what people write back, pair this connection with the agent's email reading side rather than expecting SendGrid to cover it.

Which key does this need, and what scope?

A SendGrid API key created in your SendGrid dashboard under Settings, API Keys, pasted once on the hosted setup page. Scope matters more here than on most providers: a restricted key fails specific classes of calls, and the fix search results teach is editing the key in SendGrid and switching it to Full Access. A 403 with a valid-looking connection is the classic shape of a scoped key meeting an endpoint its scope does not cover; a 401 is the key itself being wrong or regenerated. Because the key is stored server-side, rotating it in SendGrid means re-pasting the current key in one place.

Is it safe to let the agent use my SendGrid key?

The search-result safety framing warns against two things this setup avoids by construction: pasting keys into chat windows, and keys sitting in files on machines. Here the key goes into the hosted setup page once and is never exposed to the chat, and disconnecting SendGrid in the dashboard revokes the agent's use of it immediately. The remaining risk is reputational rather than credential-based: an agent that mass-sends from a warm domain can hurt deliverability, so send-triggering prompts deserve a confirmation step. Limited-scope keys are also worth considering if the account supports them, though Full Access is what most SendGrid integrations need.

What can the agent do in SendGrid?

The sending side and the marketing side: send mail and filter message history, manage contacts, lists, and custom fields, build and send campaigns, transactional templates, and single sends, manage sender identities and sender verification, read account information, IP pools and subusers, categories, automation and single-send statistics, and pull exported contact data. It is a large surface, and because SendGrid counts account objects rather than chat steps, the risk of a bad prompt is a badly built campaign or contact list, not a broken connection.

Hermes paired but still can't use SendGrid

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.