SendGrid
SendGrid is the most complete launch provider: contact upserts, connection checks, transactional sends, campaign stats, templates, and campaigns all map cleanly into the Vorlek contract.
Connection setup
- Create or open a SendGrid account.
- Create an API key with Marketing and Mail Send access.
- Connect it with
vorlek connect sendgrid --api-key SG.xxxxxor through the dashboard. - Run
get_connection_statusbefore live sends.
Gotchas
- Custom contact fields are created on first use, then cached by Vorlek for later calls.
- SendGrid contact imports are asynchronous; Vorlek normalizes the returned contact id, surfaces import job metadata, and returns accepted imports as pending provider work instead of long-polling them.
- Transactional sends require a verified sender or authenticated domain in SendGrid.
- Template and campaign pagination uses provider cursors; callers should treat
next_cursoras opaque.
Tool coverage
| Tool | Support | Notes |
|---|---|---|
upsert_contact | Yes | Creates missing custom fields, returns a normalized contact id, and may include meta.job.status: "pending" for accepted async imports. |
get_contact | Yes | Searches Marketing Contacts by email for read-after-write verification. |
send_transactional | Yes | Uses SendGrid Mail Send for synchronous transactional email. |
get_campaign_stats | Yes | Returns normalized send/open/click/bounce/unsubscribe metrics. |
list_templates | Yes | Returns template ids, names, and update timestamps where available. |
list_campaigns | Yes | Normalizes campaign status to draft, scheduled, or sent. |