Package Exports
- @robinpath/sendgrid
Readme
@robinpath/sendgrid
SendGrid module for RobinPath.
Why use this module?
The sendgrid module lets you:
- Send an email with text/html content, cc, bcc, replyTo, and attachments
- Send an email using a SendGrid dynamic template
- Add or update a single contact in SendGrid Marketing
- Bulk add or update contacts in SendGrid Marketing
- Delete a contact by ID from SendGrid Marketing
All functions are callable directly from RobinPath scripts with a simple, consistent API.
Installation
robinpath add @robinpath/sendgridQuick Start
1. Set up credentials
sendgrid.setApiKey "SG.xxxxxxxxxxxxxxxxxxxxxxxx"2. Send an email with text/html content, cc, bcc, replyTo, and attachments
sendgrid.sendEmail "bob@example.com" "noreply@myapp.com" "Welcome!" {"html": "<h1>Hello!</h1>"}Available Functions
| Function | Description |
|---|---|
sendgrid.setApiKey |
Store the SendGrid API key for authentication |
sendgrid.sendEmail |
Send an email with text/html content, cc, bcc, replyTo, and attachments |
sendgrid.sendTemplate |
Send an email using a SendGrid dynamic template |
sendgrid.addContact |
Add or update a single contact in SendGrid Marketing |
sendgrid.addContacts |
Bulk add or update contacts in SendGrid Marketing |
sendgrid.removeContact |
Delete a contact by ID from SendGrid Marketing |
sendgrid.searchContacts |
Search contacts using SendGrid Segmentation Query Language (SGQL) |
sendgrid.listContacts |
List all contacts with optional pagination |
sendgrid.createList |
Create a new contact list in SendGrid Marketing |
sendgrid.listLists |
List all contact lists in SendGrid Marketing |
sendgrid.deleteList |
Delete a contact list by ID |
sendgrid.addToList |
Add contacts to a contact list by their IDs |
sendgrid.removeFromList |
Remove contacts from a contact list by their IDs |
sendgrid.getSingleSend |
Get details of a Single Send campaign by ID |
sendgrid.listSingleSends |
List all Single Send campaigns |
sendgrid.createSingleSend |
Create a new Single Send campaign |
sendgrid.sendSingleSend |
Send or schedule a Single Send campaign immediately |
sendgrid.getStats |
Get global email statistics (requests, deliveries, opens, clicks, etc.) |
sendgrid.getTemplates |
List all email templates with optional generation filter |
sendgrid.getTemplate |
Get details of a specific email template by ID |
Examples
Send an email with text/html content, cc, bcc, replyTo, and attachments
sendgrid.sendEmail "bob@example.com" "noreply@myapp.com" "Welcome!" {"html": "<h1>Hello!</h1>"}Send an email using a SendGrid dynamic template
sendgrid.sendTemplate "bob@example.com" "noreply@myapp.com" "d-abc123" {"name": "Bob", "orderId": "12345"}Add or update a single contact in SendGrid Marketing
sendgrid.addContact "bob@example.com" {"firstName": "Bob", "lastName": "Smith"}Integration with RobinPath
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/sendgrid";
const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);
const result = await rp.executeScript(`
sendgrid.setApiKey "SG.xxxxxxxxxxxxxxxxxxxxxxxx"
sendgrid.sendEmail "bob@example.com" "noreply@myapp.com" "Welcome!" {"html": "<h1>Hello!</h1>"}
`);Full API Reference
See MODULE.md for complete documentation including all parameters, return types, error handling, and advanced examples.
Related Modules
@robinpath/activecampaign— ActiveCampaign module for complementary functionality@robinpath/brevo— Brevo module for complementary functionality@robinpath/convertkit— Convertkit module for complementary functionality@robinpath/mailchimp— Mailchimp module for complementary functionality@robinpath/lemlist— Lemlist module for complementary functionality
License
MIT