Integrations

SendGrid

Connect SendGrid to send email with templates, track delivery stats and bounces, manage suppressions, and run marketing contacts, lists and Single Sends.

API credentialsEmail, SMS & MarketingSendGrid API docsSendGrid MCP server overview

You paste one SendGrid API key that starts with SG., shown once when you create it. Two optional fields take a separate Email Address Validation key and, for EU data-residency subusers only, the region eu.

Setup time
3 min
Auth
API credentials
API base URL
https://api.sendgrid.com/v3 (EU data-residency subusers: https://api.eu.sendgrid.com/v3)
Rate limits
Each endpoint has its own request quota per refresh period, reported in the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers; going over returns 429 until the period resets. One Mail Send request carries at most 1,000 recipients and 30 MB including attachments, and send_at schedules no more than 72 hours ahead.

Before you begin

  • A Twilio SendGrid account on the free trial or a paid plan. A key acts only as the account that created it, so for a subuser, sign in as that subuser and create the key there.
  • A SendGrid login that can open Settings, API Keys and create keys there. An account can hold up to 100 API keys.
  • A verified sender or an authenticated domain if the AI will send mail. SendGrid answers 403 to a from address it does not recognise.
  • Optional: a Pro or Premier plan for Email Address Validation, and the paid Email Activity add-on if you want per-message activity lookups.

Get your credentials

Open API Keys in Settings

Sign in at app.sendgrid.com. In the left menu open Settings and click API Keys. Connecting a subuser? Sign in as that subuser first, because a key only ever acts as the account that created it.

Open this screen →

app.sendgrid.com/settings/api_keys
SearchAcme Supply
Settings / API Keys

API Keys

Keys that let applications call the SendGrid Web API v3 on behalf of this account.

Create API Key
NameAPI Key IDAction
Website contact formRestricted AccesskL9x****Qw2AEdit / Delete
Billing exportBilling AccessPz31****mN8eEdit / Delete

The list shows each key's API Key ID, not the key itself. SendGrid never displays a key's value again after creation.

Name the key and choose Full Access

Click Create API Key. Type PopMCP in API Key Name, choose Full Access so every tool works, then click Create & View. A narrower key, Restricted Access (Twilio's current docs call it Custom Access), also connects: tools outside the areas you allow answer 403.

Open this screen →

app.sendgrid.com/settings/api_keys
SearchAcme Supply
Settings / API Keys / Create API Key

Create API Key

Give the key a name and choose what it can reach.

Create API Key
API Key Name
PopMCP
Full AccessEvery Web API v3 endpoint except billing and email validation
Restricted AccessChoose No Access, Read Access or Full Access per area
Billing AccessBilling endpoints only
Email Address Validation AccessValidation endpoints only
Create & ViewCancel

Full Access is the simplest choice. A restricted key needs Mail Send set to Full Access before send_mail can work.

Copy the key from the API Key Created page

Click the key to copy it. It starts with SG. and is about 69 characters long. SendGrid shows it only on this page and cannot recover it later, so store it before you leave.

Open this screen →

app.sendgrid.com/settings/api_keys
SearchAcme Supply
Settings / API Keys / API Key Created

API Key Created

Copy this key and keep it somewhere safe.

SendGrid shows this key only once. Copy it before you leave the page.
PopMCP
API key
SG.****************.********************************xQ4
CopyDone

A lost or deleted key can only be replaced, never restored.

Optional: create an Email Address Validation key

Skip this unless you want the AI to validate addresses (Pro and Premier plans). SendGrid issues that access only as its own key: click Create API Key again, name it PopMCP validation, choose Email Address Validation Access, click Create & View and copy it.

Open this screen →

app.sendgrid.com/settings/api_keys
SearchAcme Supply
Settings / API Keys / Create API Key

Create API Key

Give the key a name and choose what it can reach.

Create API Key
API Key Name
PopMCP validation
Full Access
Restricted Access
Billing Access
Email Address Validation AccessRead access to the reporting console, full access to validation endpoints
Create & View

A Full Access key does not include validation. PopMCP uses this second key only for the validation tools.

Paste the key into PopMCP

Paste the main key into API key. Put the validation key, if you made one, into Email Address Validation key (optional). Leave Data residency (optional) blank unless the key belongs to an EU data-residency subuser, in which case type eu.

Connect in PopMCP

Open your workspace, choose SendGrid in the marketplace, and fill in the connect dialog:

FieldWhat to enter
API keysecretSendGrid → Settings → API Keys → Create API Key → Full Access → Create & View. Copy the whole key (it starts with SG.). Using subusers? Connect each subuser with a key created inside that subuser.Encrypted with AES-256-GCM on save and never shown again.
Email Address Validation key (optional)secretSendGrid gives Email Address Validation (Pro and Premier plans) its own key: Settings → API Keys → Create API Key → Email Address Validation Access. Only needed for the validation tools.Encrypted with AES-256-GCM on save and never shown again.
Data residency (optional)textLeave blank for a standard account. Type eu only if this key belongs to an EU data-residency subuser (its API host is api.eu.sendgrid.com).

PopMCP verifies the credential against SendGrid immediately. On success the connection flips to Verified and its MCP tools are provisioned.

Verify it worked

PopMCP shows SendGrid as Verified, labelled with your company or username, plus (EU) for an EU data-residency subuser. Ask for last week's sending stats: sendgrid_get_global_stats returns daily requests, delivered and opens instead of a 401 or 403.

Troubleshooting

401 `{"errors":[{"field":null,"message":"unauthorized"}]}`, or a 403, when connecting

Why: The key was mistyped, cut short or deleted, or SendGrid temporarily blocked it after repeated failed requests.

Fix: Create a new key under Settings, API Keys, Create API Key and paste the whole value, including the SG. prefix.

PopMCP says the value doesn't look like a SendGrid key because it doesn't start with SG.

Why: The API Key ID from the key list was copied instead of the key itself. The list never shows key values.

Fix: Create a new key and copy it from the API Key Created page while it is on screen.

Some tools answer 403 while others work

Why: The key uses Restricted Access and does not include that area, for example Mail Send, Marketing or Suppressions.

Fix: On API Keys open the key's action menu, choose Edit API Key, raise the missing area and click Update, or create a Full Access key and reconnect.

send_mail answers 403 about the from address

Why: The from address is not a verified single sender and is not on an authenticated domain.

Fix: Verify the sender (sendgrid_create_verified_sender emails a confirmation link) or authenticate the domain under Settings, Sender Authentication, then send again.

Sends fail with `User is not authorized to send mail based on their regional attribute`

Why: The key belongs to an EU data-residency subuser but the connection is calling the global host.

Fix: Reconnect with eu in the Data residency (optional) field so calls go to api.eu.sendgrid.com.

Marketing Campaigns, Email Activity or validation tools say they aren't available to EU data-residency subusers

Why: SendGrid serves those APIs from its global region only.

Fix: Use a global (non-EU) SendGrid account for those tools. Sending, templates, stats and suppressions keep working on the EU connection.

sendgrid_list_email_activity answers 403 with a Full Access key

Why: The account has not bought SendGrid's Email Activity add-on, which the activity API needs.

Fix: Add the Email Activity add-on in SendGrid, or check the bounce, block, spam report and global unsubscribe lists instead.

Reference

On this page