Skip to content

SendGrid

Email delivery platform for transactional and marketing emails.

Capabilities

IntegrationAvailableNotes
APIMail Send API, Marketing API
MCP-Not available
CLI-Not available
SDKOfficial libraries for most languages

Authentication

  • Type: API Key
  • Header: Authorization: Bearer {api_key}
  • Get key: Settings > API Keys in SendGrid dashboard

Common Agent Operations

Send email

bash
POST https://api.sendgrid.com/v3/mail/send

Authorization: Bearer {api_key}

{
  "personalizations": [{
    "to": [{"email": "user@example.com"}]
  }],
  "from": {"email": "hello@example.com"},
  "subject": "Welcome!",
  "content": [{
    "type": "text/html",
    "value": "<h1>Welcome!</h1>"
  }]
}

Send with template

bash
POST https://api.sendgrid.com/v3/mail/send

{
  "personalizations": [{
    "to": [{"email": "user@example.com"}],
    "dynamic_template_data": {
      "name": "John",
      "order_id": "12345"
    }
  }],
  "from": {"email": "hello@example.com"},
  "template_id": "d-xxx"
}

Add contact to list

bash
PUT https://api.sendgrid.com/v3/marketing/contacts

{
  "list_ids": ["list-id"],
  "contacts": [{
    "email": "user@example.com",
    "first_name": "John",
    "last_name": "Doe"
  }]
}

Search contacts

bash
POST https://api.sendgrid.com/v3/marketing/contacts/search

{
  "query": "email LIKE 'user@%'"
}

Get email statistics

bash
GET https://api.sendgrid.com/v3/stats?start_date=2024-01-01&end_date=2024-01-31

Authorization: Bearer {api_key}

Get bounces

bash
GET https://api.sendgrid.com/v3/suppression/bounces

Authorization: Bearer {api_key}

Get spam reports

bash
GET https://api.sendgrid.com/v3/suppression/spam_reports

Authorization: Bearer {api_key}

Validate email

bash
POST https://api.sendgrid.com/v3/validations/email

{
  "email": "user@example.com"
}

Webhook Events

EventDescription
processedEmail accepted
deliveredEmail delivered
openEmail opened
clickLink clicked
bounceHard/soft bounce
droppedEmail dropped
spamreportMarked as spam
unsubscribeUnsubscribed

Node.js SDK

javascript
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey('SG.xxx');

await sgMail.send({
  to: 'user@example.com',
  from: 'hello@example.com',
  subject: 'Welcome!',
  html: '<h1>Welcome!</h1>'
});

When to Use

  • Transactional email at scale
  • Marketing email campaigns
  • Email validation
  • Deliverability management

Rate Limits

  • Free: 100 emails/day
  • Paid: Varies by plan (up to millions/month)

Relevant Skills

  • email-sequence
  • analytics-tracking

Released under the MIT License.