{"id":"5c33ea81-9576-49ea-a959-5dc12c4b51d4","shortId":"ACnT34","kind":"skill","title":"sendgrid-automation","tagline":"Automate SendGrid email delivery workflows including marketing campaigns (Single Sends), contact and list management, sender identity setup, and email analytics through Composio's SendGrid toolkit.","description":"# SendGrid Automation via Rube MCP\n\nAutomate SendGrid email delivery workflows including marketing campaigns (Single Sends), contact and list management, sender identity setup, and email analytics through Composio's SendGrid toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active SendGrid connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `sendgrid`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `sendgrid`\n3. If connection is not ACTIVE, follow the returned auth link to complete SendGrid API key authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create and Send Marketing Campaigns (Single Sends)\n\n**When to use**: User wants to create and send a marketing email campaign to a contact list or segment.\n\n**Tool sequence**:\n1. `SENDGRID_RETRIEVE_ALL_LISTS` - List available marketing lists to target [Prerequisite]\n2. `SENDGRID_CREATE_A_LIST` - Create a new list if needed [Optional]\n3. `SENDGRID_ADD_OR_UPDATE_A_CONTACT` - Add contacts to the list [Optional]\n4. `SENDGRID_GET_ALL_SENDER_IDENTITIES` - Get verified sender ID [Prerequisite]\n5. `SENDGRID_CREATE_SINGLE_SEND` - Create the campaign with content, sender, and recipients [Required]\n\n**Key parameters for SENDGRID_CREATE_SINGLE_SEND**:\n- `name`: Campaign name (required)\n- `email__config__subject`: Email subject line\n- `email__config__html__content`: HTML body content\n- `email__config__plain__content`: Plain text version\n- `email__config__sender__id`: Verified sender identity ID\n- `email__config__design__id`: Use instead of html_content for pre-built designs\n- `send__to__list__ids`: Array of list UUIDs to send to\n- `send__to__segment__ids`: Array of segment UUIDs\n- `send__to__all`: true to send to all contacts\n- `email__config__suppression__group__id` or `email__config__custom__unsubscribe__url`: One required for compliance\n\n**Pitfalls**:\n- Setting `send_at` on CREATE does NOT schedule the send; it only prepopulates the UI date; use the Schedule endpoint separately\n- `send_at: \"now\"` is only valid with the Schedule endpoint, not CREATE\n- Must provide either `suppression_group_id` or `custom_unsubscribe_url` for unsubscribe compliance\n- Sender must be verified before use; check with `SENDGRID_GET_ALL_SENDER_IDENTITIES`\n- Nested params use double-underscore notation (e.g., `email__config__subject`)\n\n### 2. Manage Contacts and Lists\n\n**When to use**: User wants to create contact lists, add/update contacts, search for contacts, or remove contacts from lists.\n\n**Tool sequence**:\n1. `SENDGRID_RETRIEVE_ALL_LISTS` - List all marketing lists [Required]\n2. `SENDGRID_CREATE_A_LIST` - Create a new contact list [Optional]\n3. `SENDGRID_GET_A_LIST_BY_ID` - Get list details and sample contacts [Optional]\n4. `SENDGRID_ADD_OR_UPDATE_A_CONTACT` - Upsert contacts with list association [Required]\n5. `SENDGRID_GET_CONTACTS_BY_EMAILS` - Look up contacts by email [Optional]\n6. `SENDGRID_GET_CONTACTS_BY_IDENTIFIERS` - Look up contacts by email, phone, or external ID [Optional]\n7. `SENDGRID_GET_LIST_CONTACT_COUNT` - Verify contact count after operations [Optional]\n8. `SENDGRID_REMOVE_CONTACTS_FROM_A_LIST` - Remove contacts from a list without deleting [Optional]\n9. `SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS` - Delete an entire list [Optional]\n10. `SENDGRID_IMPORT_CONTACTS` - Bulk import from CSV [Optional]\n\n**Key parameters for SENDGRID_ADD_OR_UPDATE_A_CONTACT**:\n- `contacts`: Array of contact objects (max 30,000 or 6MB), each with at least one identifier: `email`, `phone_number_id`, `external_id`, or `anonymous_id` (required)\n- `list_ids`: Array of list UUID strings to associate contacts with\n\n**Pitfalls**:\n- `SENDGRID_ADD_OR_UPDATE_A_CONTACT` is asynchronous; returns 202 with `job_id`; contacts may take 10-30 seconds to appear\n- List IDs are UUIDs (e.g., \"ca7a3796-e8a8-4029-9ccb-df8937940562\"), not integers\n- List names must be unique; duplicate names cause 400 errors\n- `SENDGRID_ADD_A_SINGLE_RECIPIENT_TO_A_LIST` uses the legacy API; prefer `SENDGRID_ADD_OR_UPDATE_A_CONTACT` with `list_ids`\n- `SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS` is irreversible; require explicit user confirmation\n- Email addresses are automatically lowercased by SendGrid\n\n### 3. Manage Sender Identities\n\n**When to use**: User wants to set up or view sender identities (From addresses) for sending emails.\n\n**Tool sequence**:\n1. `SENDGRID_GET_ALL_SENDER_IDENTITIES` - List all existing sender identities [Required]\n2. `SENDGRID_CREATE_A_SENDER_IDENTITY` - Create a new sender identity [Optional]\n3. `SENDGRID_VIEW_A_SENDER_IDENTITY` - View details for a specific sender [Optional]\n4. `SENDGRID_UPDATE_A_SENDER_IDENTITY` - Update sender details [Optional]\n5. `SENDGRID_CREATE_VERIFIED_SENDER_REQUEST` - Create and verify a new sender [Optional]\n6. `SENDGRID_AUTHENTICATE_A_DOMAIN` - Set up domain authentication for auto-verification [Optional]\n\n**Key parameters for SENDGRID_CREATE_A_SENDER_IDENTITY**:\n- `from__email`: From email address (required)\n- `from__name`: Display name (required)\n- `reply__to__email`: Reply-to address (required)\n- `nickname`: Internal identifier (required)\n- `address`, `city`, `country`: Physical address for CAN-SPAM compliance (required)\n\n**Pitfalls**:\n- New senders must be verified before use; if domain is not authenticated, a verification email is sent\n- Up to 100 unique sender identities per account\n- Avoid using domains with strict DMARC policies (gmail.com, yahoo.com) as from addresses\n- `SENDGRID_CREATE_VERIFIED_SENDER_REQUEST` sends a verification email; sender is unusable until verified\n\n### 4. View Email Statistics and Activity\n\n**When to use**: User wants to review email delivery stats, bounce rates, open/click metrics, or message activity.\n\n**Tool sequence**:\n1. `SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS` - Get account-wide delivery metrics [Required]\n2. `SENDGRID_GET_ALL_CATEGORIES` - Discover available categories for filtering [Optional]\n3. `SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES` - Get stats broken down by category [Optional]\n4. `SENDGRID_FILTER_ALL_MESSAGES` - Search email activity feed by recipient, status, or date [Optional]\n5. `SENDGRID_FILTER_MESSAGES_BY_MESSAGE_ID` - Get detailed events for a specific message [Optional]\n6. `SENDGRID_REQUEST_CSV` - Export activity data as CSV for large datasets [Optional]\n7. `SENDGRID_DOWNLOAD_CSV` - Download the exported CSV file [Optional]\n\n**Key parameters for SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS**:\n- `start_date`: Start date YYYY-MM-DD (required)\n- `end_date`: End date YYYY-MM-DD\n- `aggregated_by`: \"day\", \"week\", or \"month\"\n- `limit` / `offset`: Pagination (default 500)\n\n**Key parameters for SENDGRID_FILTER_ALL_MESSAGES**:\n- `query`: SQL-like query string, e.g., `status=\"delivered\"`, `to_email=\"user@example.com\"`, date ranges with `BETWEEN TIMESTAMP`\n- `limit`: 1-1000 (default 10)\n\n**Pitfalls**:\n- `SENDGRID_FILTER_ALL_MESSAGES` requires the \"30 Days Additional Email Activity History\" paid add-on; returns 403 without it\n- Global statistics are nested under `details[].stats[0].metrics`, not a flat structure\n- Category statistics are only available for the previous 13 months\n- Maximum 10 categories per request in `SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES`\n- CSV export is limited to one request per 12 hours; link expires after 3 days\n\n### 5. Manage Suppressions\n\n**When to use**: User wants to check or manage unsubscribe groups for email compliance.\n\n**Tool sequence**:\n1. `SENDGRID_GET_SUPPRESSION_GROUPS` - List all suppression groups [Required]\n2. `SENDGRID_RETRIEVE_ALL_SUPPRESSION_GROUPS_FOR_AN_EMAIL_ADDRESS` - Check suppression status for a specific email [Optional]\n\n**Pitfalls**:\n- Suppressed addresses remain undeliverable even if present on marketing lists\n- Campaign send counts may be lower than list counts due to suppressions\n\n## Common Patterns\n\n### ID Resolution\nAlways resolve names to IDs before operations:\n- **List name -> list_id**: `SENDGRID_RETRIEVE_ALL_LISTS` and match by name\n- **Sender name -> sender_id**: `SENDGRID_GET_ALL_SENDER_IDENTITIES` and match\n- **Contact email -> contact_id**: `SENDGRID_GET_CONTACTS_BY_EMAILS` with email array\n- **Template name -> template_id**: Use the SendGrid UI or template endpoints\n\n### Pagination\n- `SENDGRID_RETRIEVE_ALL_LISTS`: Token-based with `page_token` and `page_size` (max 1000)\n- `SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS`: Offset-based with `limit` (max 500) and `offset`\n- Always paginate list retrieval to avoid missing existing lists\n\n### Async Operations\nContact operations (`ADD_OR_UPDATE_A_CONTACT`, `IMPORT_CONTACTS`) are asynchronous:\n- Returns 202 with a `job_id`\n- Wait 10-30 seconds before verifying with `GET_CONTACTS_BY_EMAILS`\n- Use `GET_LIST_CONTACT_COUNT` to confirm list growth\n\n## Known Pitfalls\n\n### ID Formats\n- Marketing list IDs are UUIDs (e.g., \"ca7a3796-e8a8-4029-9ccb-df8937940562\")\n- Legacy list IDs are integers; do not mix with Marketing API endpoints\n- Sender identity IDs are integers\n- Template IDs: Dynamic templates start with \"d-\", legacy templates are UUIDs\n- Contact IDs are UUIDs\n\n### Rate Limits\n- SendGrid may return HTTP 429; respect `Retry-After` headers\n- CSV export limited to one request per 12 hours\n- Bulk contact upsert max: 30,000 contacts or 6MB per request\n\n### Parameter Quirks\n- Nested params use double-underscore: `email__config__subject`, `from__email`\n- `send_at` on CREATE_SINGLE_SEND only sets a UI default, does NOT schedule\n- `SENDGRID_ADD_A_SINGLE_RECIPIENT_TO_A_LIST` uses legacy API; `recipient_id` is Base64-encoded lowercase email\n- `SENDGRID_RETRIEVE_ALL_LISTS` and `SENDGRID_GET_ALL_LISTS` both exist; prefer RETRIEVE_ALL_LISTS for Marketing API\n- Contact adds are async (202); always verify after a delay\n\n### Legacy vs Marketing API\n- Some tools use the legacy Contact Database API (`/v3/contactdb/`) which may return 403 on newer accounts\n- Prefer Marketing API tools: `SENDGRID_ADD_OR_UPDATE_A_CONTACT`, `SENDGRID_RETRIEVE_ALL_LISTS`, `SENDGRID_CREATE_SINGLE_SEND`\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List marketing lists | `SENDGRID_RETRIEVE_ALL_LISTS` | `page_size`, `page_token` |\n| Create list | `SENDGRID_CREATE_A_LIST` | `name` |\n| Get list by ID | `SENDGRID_GET_A_LIST_BY_ID` | `id` |\n| Get list count | `SENDGRID_GET_LIST_CONTACT_COUNT` | `id` |\n| Add/update contacts | `SENDGRID_ADD_OR_UPDATE_A_CONTACT` | `contacts`, `list_ids` |\n| Search contacts by email | `SENDGRID_GET_CONTACTS_BY_EMAILS` | `emails` |\n| Search by identifiers | `SENDGRID_GET_CONTACTS_BY_IDENTIFIERS` | `identifier_type`, `identifiers` |\n| Remove from list | `SENDGRID_REMOVE_CONTACTS_FROM_A_LIST` | `id`, `contact_ids` |\n| Delete list | `SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS` | `id`, `delete_contacts` |\n| Import contacts CSV | `SENDGRID_IMPORT_CONTACTS` | field mappings |\n| Create Single Send | `SENDGRID_CREATE_SINGLE_SEND` | `name`, `email__config__*`, `send__to__list__ids` |\n| List sender identities | `SENDGRID_GET_ALL_SENDER_IDENTITIES` | (none) |\n| Create sender | `SENDGRID_CREATE_A_SENDER_IDENTITY` | `from__email`, `from__name`, `address` |\n| Verify sender | `SENDGRID_CREATE_VERIFIED_SENDER_REQUEST` | `from_email`, `nickname`, `address` |\n| Authenticate domain | `SENDGRID_AUTHENTICATE_A_DOMAIN` | `domain` |\n| Global email stats | `SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS` | `start_date`, `aggregated_by` |\n| Category stats | `SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES` | `start_date`, `categories` |\n| Filter email activity | `SENDGRID_FILTER_ALL_MESSAGES` | `query`, `limit` |\n| Message details | `SENDGRID_FILTER_MESSAGES_BY_MESSAGE_ID` | `msg_id` |\n| Export CSV | `SENDGRID_REQUEST_CSV` | `query` |\n| Download CSV | `SENDGRID_DOWNLOAD_CSV` | `download_uuid` |\n| List categories | `SENDGRID_GET_ALL_CATEGORIES` | (none) |\n| Suppression groups | `SENDGRID_GET_SUPPRESSION_GROUPS` | (none) |\n| Get template | `SENDGRID_RETRIEVE_A_SINGLE_TRANSACTIONAL_TEMPLATE` | `template_id` |\n| Duplicate template | `SENDGRID_DUPLICATE_A_TRANSACTIONAL_TEMPLATE` | `template_id`, `name` |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["sendgrid","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-sendgrid-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/sendgrid-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34583 github stars · SKILL.md body (12,842 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T18:52:13.374Z","embedding":null,"createdAt":"2026-04-18T21:44:12.916Z","updatedAt":"2026-04-22T18:52:13.374Z","lastSeenAt":"2026-04-22T18:52:13.374Z","tsv":"'-1000':1077 '-30':638,1338 '-9':651,1370 '/mcp':97 '/v3/contactdb':1524 '0':1108 '000':590,1432 '1':117,166,195,450,731,924,1076,1170 '10':565,637,1079,1125,1337 '100':867 '1000':1293 '12':1144,1425 '13':1122 '2':129,207,424,460,743,937,1180 '202':630,1331,1506 '3':137,219,471,708,755,948,1149 '30':589,1087,1431 '4':154,232,485,768,899,962 '400':665 '4029':650,1369 '403':1098,1528 '429':1412 '5':243,498,778,977,1151 '500':1050,1305 '6':510,791,992 '6mb':592,1435 '7':526,1005 '8':538 '9':553 'account':872,932,1531 'account-wid':931 'action':1812 'activ':69,142,159,904,921,969,997,1091,1736 'add':94,111,221,226,487,578,622,668,681,1095,1321,1466,1503,1537,1598 'add-on':1094 'add/update':438,1595 'addit':1089 'address':702,725,817,830,836,840,884,1189,1200,1692,1703 'aggreg':1040,1721 'alway':79,1225,1308,1507 'analyt':23,53 'anonym':606 'api':107,151,678,1384,1475,1501,1515,1523,1534 'appear':641 'applic':1806 'array':314,325,584,611,1266 'ask':1850 'associ':496,617 'async':1317,1505 'asynchron':628,1329 'auth':146 'authent':153,793,799,859,1704,1707 'auto':802 'auto-verif':801 'autom':3,4,30,34 'automat':704 'avail':68,122,201,943,1118 'avoid':873,1313 'base':1285,1301 'base64':1480 'base64-encoded':1479 'bodi':279 'bounc':915 'boundari':1858 'broken':957 'built':308 'bulk':569,1427 'ca7a3796':648,1367 'ca7a3796-e8a8':647,1366 'call':80,130 'campaign':11,41,171,186,250,265,1209 'can-spam':842 'categori':941,944,954,960,1114,1126,1135,1723,1730,1733,1767,1771 'caus':664 'ccb':653,1372 'ccb-df8937940562':652,1371 'check':406,1160,1190 'citi':837 'clarif':1852 'clear':1825 'client':104 'common':1221 'complet':149 'complianc':352,399,845,1167 'composio':25,55 'config':269,275,282,289,297,339,345,422,1447,1667 'configur':105 'confirm':124,155,700,1353 'connect':64,71,75,133,139,156 'contact':14,44,189,225,227,337,426,436,439,442,445,468,483,491,493,501,506,513,518,530,533,541,546,559,568,582,583,586,618,626,634,685,694,1255,1257,1261,1319,1325,1327,1344,1350,1402,1428,1433,1502,1521,1541,1592,1596,1602,1603,1607,1612,1621,1632,1637,1646,1649,1651,1655 'content':252,277,280,284,304 'core':164 'count':531,534,1211,1217,1351,1588,1593 'countri':838 'creat':167,180,209,212,245,248,261,358,386,435,462,465,745,749,780,784,809,886,1454,1547,1568,1571,1658,1662,1681,1684,1696 'criteria':1861 'csv':572,995,1000,1008,1012,1136,1418,1652,1754,1757,1760,1763 'current':87 'custom':346,394 'd':1397 'data':998 'databas':1522 'dataset':1003 'date':369,975,1024,1026,1033,1035,1070,1720,1732 'day':1042,1088,1150 'dd':1030,1039 'default':1049,1078,1461 'delay':1511 'delet':551,560,1639,1648 'deliv':1066 'deliveri':7,37,913,934 'describ':1813,1829 'design':298,309 'detail':480,762,776,985,1106,1744 'df8937940562':654,1373 'discov':942 'display':821 'dmarc':878 'domain':795,798,856,875,1705,1709,1710 'doubl':417,1444 'double-underscor':416,1443 'download':1007,1009,1759,1762,1764 'due':1218 'duplic':662,1790,1793 'dynam':1393 'e.g':420,646,1064,1365 'e8a8':649,1368 'either':389 'email':6,22,36,52,185,268,271,274,281,288,296,338,344,421,503,508,520,599,701,728,814,816,826,862,893,901,912,928,951,968,1021,1068,1090,1132,1166,1188,1196,1256,1263,1265,1297,1346,1446,1450,1483,1609,1614,1615,1666,1689,1701,1712,1717,1727,1735 'encod':1481 'end':1032,1034 'endpoint':113,373,384,1277,1385 'entir':562 'environ':1841 'environment-specif':1840 'error':666 'even':1203 'event':986 'execut':1808 'exist':739,1315,1494 'expert':1846 'expir':1147 'explicit':698 'export':996,1011,1137,1419,1753 'extern':523,603 'feed':970 'field':1656 'file':1013 'filter':946,964,979,1055,1082,1734,1738,1746 'first':84 'flat':1112 'follow':143 'format':1359 'get':86,91,234,238,409,473,478,500,512,528,733,930,939,955,984,1172,1249,1260,1343,1348,1490,1575,1580,1586,1590,1611,1620,1676,1769,1776,1780 'global':927,1020,1101,1296,1711,1716 'gmail.com':880 'group':341,391,1164,1174,1178,1185,1774,1778 'growth':1355 'header':1417 'histori':1092 'hour':1145,1426 'html':276,278,303 'http':1411 'id':241,291,295,299,313,324,342,392,477,524,602,604,607,610,633,643,688,983,1223,1229,1235,1247,1258,1270,1335,1358,1362,1376,1388,1392,1403,1477,1578,1584,1585,1594,1605,1636,1638,1647,1671,1750,1752,1789,1798 'ident':19,49,237,294,412,711,723,736,741,748,753,760,773,812,870,1252,1387,1674,1679,1687 'identifi':515,598,834,1618,1623,1624,1626 'import':567,570,1326,1650,1654 'includ':9,39 'input':1855 'instead':301 'integ':656,1378,1390 'intern':833 'irrevers':696 'job':632,1334 'key':108,152,257,574,805,1015,1051,1555 'known':1356 'larg':1002 'least':596 'legaci':677,1374,1398,1474,1512,1520 'like':1061 'limit':1046,1075,1139,1303,1407,1420,1742,1817 'line':273 'link':147,1146 'list':16,46,190,199,200,203,211,215,230,312,316,428,437,447,454,455,458,464,469,475,479,495,529,544,549,556,563,609,613,642,657,674,687,691,737,1175,1208,1216,1232,1234,1239,1282,1310,1316,1349,1354,1361,1375,1472,1487,1492,1498,1545,1557,1559,1563,1569,1573,1576,1582,1587,1591,1604,1629,1635,1640,1643,1670,1672,1766 'look':504,516 'lower':1214 'lowercas':705,1482 'manag':17,47,74,132,425,709,1152,1162 'map':1657 'market':10,40,170,184,202,457,1207,1360,1383,1500,1514,1533,1558 'match':1241,1254,1826 'max':588,1292,1304,1430 'maximum':1124 'may':635,1212,1409,1526 'mcp':33,61,93,100,120 'messag':920,966,980,982,990,1057,1084,1740,1743,1747,1749 'metric':918,935,1109 'miss':1314,1863 'mix':1381 'mm':1029,1038 'month':1045,1123 'msg':1751 'must':62,387,401,659,850 'name':264,266,658,663,820,822,1227,1233,1243,1245,1268,1574,1665,1691,1799 'need':109,217 'nest':413,1104,1440 'new':214,467,751,788,848 'newer':1530 'nicknam':832,1702 'none':1680,1772,1779 'notat':419 'number':601 'object':587 'offset':1047,1300,1307 'offset-bas':1299 'one':349,597,1141,1422 'open/click':917 'oper':536,1231,1318,1320 'option':218,231,470,484,509,525,537,552,558,564,573,693,754,767,777,790,804,947,961,976,991,1004,1014,1197,1645 'output':1835 'overview':1816 'page':1287,1290,1564,1566 'pagin':1048,1278,1309 'paid':1093 'param':414,1441,1556 'paramet':258,575,806,1016,1052,1438 'pattern':1222 'per':871,1127,1143,1424,1436 'permiss':1856 'phone':521,600 'physic':839 'pitfal':353,620,847,1080,1198,1357 'plain':283,285 'polici':879 'pre':307 'pre-built':306 'prefer':679,1495,1532 'prepopul':366 'prerequisit':59,206,242 'present':1205 'previous':1121 'provid':388 'queri':1058,1062,1741,1758 'quick':1550 'quirk':1439 'rang':1071 'rate':916,1406 'recipi':255,671,972,1469,1476 'refer':1551 'remain':1201 'remov':444,540,545,555,690,1627,1631,1642 'repli':824,828 'reply-to':827 'request':783,889,994,1128,1142,1423,1437,1699,1756 'requir':256,267,350,459,497,608,697,742,818,823,831,835,846,936,1031,1085,1179,1854 'resolut':1224 'resolv':1226 'respect':1413 'respond':128 'retri':1415 'retriev':197,452,926,950,1019,1131,1182,1237,1280,1295,1311,1485,1496,1543,1561,1715,1726,1783 'retry-aft':1414 'return':145,629,1097,1330,1410,1527 'review':911,1847 'rube':32,60,65,73,81,92,119,125,131 'rube.app':96 'rube.app/mcp':95 'run':161 'safeti':1857 'sampl':482 'schedul':361,372,383,1464 'schema':89 'scope':1828 'search':66,82,126,440,967,1606,1616 'second':639,1339 'segment':192,323,327 'send':13,43,169,173,182,247,263,310,319,321,329,334,355,363,375,727,890,1210,1451,1456,1549,1660,1664,1668 'sender':18,48,236,240,253,290,293,400,411,710,722,735,740,747,752,759,766,772,775,782,789,811,849,869,888,894,1244,1246,1251,1386,1673,1678,1682,1686,1694,1698 'sendgrid':2,5,27,29,35,57,70,78,136,150,196,208,220,233,244,260,408,451,461,472,486,499,511,527,539,554,566,577,621,667,680,689,707,732,744,756,769,779,792,808,885,925,938,949,963,978,993,1006,1018,1054,1081,1130,1171,1181,1236,1248,1259,1273,1279,1294,1408,1465,1484,1489,1536,1542,1546,1560,1570,1579,1589,1597,1610,1619,1630,1641,1653,1661,1675,1683,1695,1706,1714,1725,1737,1745,1755,1761,1768,1775,1782,1792 'sendgrid-autom':1 'sent':864 'separ':374 'sequenc':194,449,730,923,1169 'server':101 'set':354,718,796,1458 'setup':20,50,90 'show':158 'singl':12,42,172,246,262,670,1455,1468,1548,1659,1663,1785 'size':1291,1565 'skill':1804,1820 'skill-sendgrid-automation' 'slug':1554 'source-sickn33' 'spam':844 'specif':765,989,1195,1842 'sql':1060 'sql-like':1059 'start':1023,1025,1395,1719,1731 'stat':914,956,1107,1713,1724 'statist':902,929,952,1022,1102,1115,1133,1298,1718,1728 'status':157,973,1065,1192 'stop':1848 'strict':877 'string':615,1063 'structur':1113 'subject':270,272,423,1448 'substitut':1838 'success':1860 'suppress':340,390,1153,1173,1177,1184,1191,1199,1220,1773,1777 'take':636 'target':205 'task':1552,1824 'templat':1267,1269,1276,1391,1394,1399,1781,1787,1788,1791,1796,1797 'test':1844 'text':286 'timestamp':1074 'token':1284,1288,1567 'token-bas':1283 'tool':67,83,88,127,193,448,729,922,1168,1517,1535,1553 'toolkit':28,58,77,135 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'transact':1786,1795 'treat':1833 'true':332 'type':1625 'ui':368,1274,1460 'undeliver':1202 'underscor':418,1445 'uniqu':661,868 'unsubscrib':347,395,398,1163 'unus':896 'updat':223,489,580,624,683,770,774,1323,1539,1600 'upsert':492,1429 'url':348,396 'use':176,300,370,405,415,431,675,714,854,874,907,1156,1271,1347,1442,1473,1518,1802,1818 'user':177,432,699,715,908,1157 'user@example.com':1069 'uuid':317,328,614,645,1364,1401,1405,1765 'valid':380,1843 'verif':803,861,892 'verifi':118,239,292,403,532,781,786,852,887,898,1341,1508,1693,1697 'version':287 'via':31,72 'view':721,757,761,900 'vs':1513 'wait':1336 'want':178,433,716,909,1158 'week':1043 'wide':933 'without':550,1099 'work':116 'workflow':8,38,163,165,1810 'yahoo.com':881 'yyyi':1028,1037 'yyyy-mm-dd':1027,1036","prices":[{"id":"f748d276-4ca4-4028-bcb8-3de76b7814c7","listingId":"5c33ea81-9576-49ea-a959-5dc12c4b51d4","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:44:12.916Z"}],"sources":[{"listingId":"5c33ea81-9576-49ea-a959-5dc12c4b51d4","source":"github","sourceId":"sickn33/antigravity-awesome-skills/sendgrid-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/sendgrid-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:44:12.916Z","lastSeenAt":"2026-04-22T18:52:13.374Z"}],"details":{"listingId":"5c33ea81-9576-49ea-a959-5dc12c4b51d4","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"sendgrid-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34583,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-22T06:40:00Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"6b47350d2422b47b4dcdf3050e70bce73b384ad9","skill_md_path":"skills/sendgrid-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/sendgrid-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"sendgrid-automation","description":"Automate SendGrid email delivery workflows including marketing campaigns (Single Sends), contact and list management, sender identity setup, and email analytics through Composio's SendGrid toolkit."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/sendgrid-automation"},"updatedAt":"2026-04-22T18:52:13.374Z"}}