# SendGrid

Send email via SendGrid; manage contacts, lists, templates, suppressions, stats. Exposes **51 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `sendgrid_mail_send` | Send a transactional email - POST /mail/send. |
| `sendgrid_contact_create` | Create a marketing contact - POST /marketing/contacts. |
| `sendgrid_contact_get` | Get a marketing contact - GET /marketing/contacts/&#123;contact_id&#125;. |
| `sendgrid_contact_update` | Update a marketing contact - PATCH /marketing/contacts/&#123;contact_id&#125;. |
| `sendgrid_contact_delete` | Delete a marketing contact - DELETE /marketing/contacts/&#123;contact_id&#125;. |
| `sendgrid_contacts_list` | List marketing contacts - GET /marketing/contacts. |
| `sendgrid_list_create` | Create a marketing list - POST /marketing/lists. |
| `sendgrid_list_get` | Get a marketing list - GET /marketing/lists/&#123;list_id&#125;. |
| `sendgrid_list_update` | Update a marketing list - PATCH /marketing/lists/&#123;list_id&#125;. |
| `sendgrid_list_delete` | Delete a marketing list - DELETE /marketing/lists/&#123;list_id&#125;. |
| `sendgrid_lists_list` | List marketing lists - GET /marketing/lists. |
| `sendgrid_list_add_contact` | Add a contact to a list - POST /marketing/lists/&#123;list_id&#125;/contacts. |
| `sendgrid_list_remove_contact` | Remove a contact from a list - DELETE /marketing/lists/&#123;list_id&#125;/contacts/&#123;contact_id&#125;. |
| `sendgrid_segment_create` | Create a segment - POST /marketing/segments. |
| `sendgrid_segment_get` | Get a segment - GET /marketing/segments/&#123;segment_id&#125;. |
| `sendgrid_segment_update` | Update a segment - PATCH /marketing/segments/&#123;segment_id&#125;. |
| `sendgrid_segment_delete` | Delete a segment - DELETE /marketing/segments/&#123;segment_id&#125;. |
| `sendgrid_segments_list` | List segments - GET /marketing/segments. |
| `sendgrid_single_send_create` | Create a single send (campaign) - POST /marketing/singlesends. |
| `sendgrid_single_send_get` | Get a single send - GET /marketing/singlesends/&#123;single_send_id&#125;. |
| `sendgrid_single_sends_list` | List single sends - GET /marketing/singlesends. |
| `sendgrid_single_send_schedule` | Schedule a single send - POST /marketing/singlesends/&#123;single_send_id&#125;/schedule. |
| `sendgrid_single_send_delete` | Delete a single send - DELETE /marketing/singlesends/&#123;single_send_id&#125;. |
| `sendgrid_template_create` | Create a template - POST /templates. |
| `sendgrid_template_get` | Get a template - GET /templates/&#123;template_id&#125;. |
| `sendgrid_template_update` | Update a template - PATCH /templates/&#123;template_id&#125;. |
| `sendgrid_template_delete` | Delete a template - DELETE /templates/&#123;template_id&#125;. |
| `sendgrid_templates_list` | List templates - GET /templates. |
| `sendgrid_bounces_list` | List bounces - GET /suppression/bounces. |
| `sendgrid_blocks_list` | List blocks - GET /suppression/blocks. |
| `sendgrid_spam_reports_list` | List spam reports - GET /suppression/spam_reports. |
| `sendgrid_unsubscribes_list` | List unsubscribes - GET /suppression/unsubscribes. |
| `sendgrid_stats_get` | Get email statistics - GET /stats. |
| `sendgrid_sender_create` | Create a sender - POST /senders. |
| `sendgrid_sender_get` | Get a sender - GET /senders/&#123;sender_id&#125;. |
| `sendgrid_sender_update` | Update a sender - PATCH /senders/&#123;sender_id&#125;. |
| `sendgrid_sender_delete` | Delete a sender - DELETE /senders/&#123;sender_id&#125;. |
| `sendgrid_senders_list` | List senders - GET /senders. |
| `sendgrid_verified_sender_create` | Create a verified sender - POST /verified_senders. |
| `sendgrid_verified_senders_list` | List verified senders - GET /verified_senders. |
| `sendgrid_verified_sender_verify` | Trigger verification email for a verified sender - POST /verified_senders/&#123;verified_sender_id&#125;/resend_verification. |
| `sendgrid_api_key_create` | Create an API key - POST /api_keys. |
| `sendgrid_api_key_get` | Get an API key - GET /api_keys/&#123;api_key_id&#125;. |
| `sendgrid_api_key_update` | Update an API key - PATCH /api_keys/&#123;api_key_id&#125;. |
| `sendgrid_api_key_delete` | Delete an API key - DELETE /api_keys/&#123;api_key_id&#125;. |
| `sendgrid_api_keys_list` | List API keys - GET /api_keys. |
| `sendgrid_subuser_create` | Create a subuser - POST /subusers. |
| `sendgrid_subuser_get` | Get a subuser - GET /subusers/&#123;username&#125;. |
| `sendgrid_subuser_update` | Update a subuser - PATCH /subusers/&#123;username&#125;. |
| `sendgrid_subuser_delete` | Delete a subuser - DELETE /subusers/&#123;username&#125;. |
| `sendgrid_subusers_list` | List subusers - GET /subusers. |

## How to get credentials

This connector uses an **API key / token**. Create one in the provider
dashboard, then paste it into FlyMyAI:

- **`SENDGRID_API_KEY`** - SendGrid - Settings - API Keys - Create API Key (Full Access). (https://app.sendgrid.com/settings/api_keys)

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `SENDGRID_API_KEY` | SendGrid - Settings - API Keys - Create API Key (Full Access). |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the token is wrong, expired, or missing a required scope - regenerate it.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [SendGrid API documentation](https://docs.sendgrid.com/api-reference)
