---
updatedAt: 2025-11-19T11:55:07.000Z
agentTools:
  projectIndex: https://docs.pelcro.com/v2.4/llms.txt
---

# SendGrid

# Introduction to SendGrid

SendGrid is a cloud-based SMTP provider that assists you with email delivery, by allowing you to send emails without having to maintain email servers. SendGrid manages all of the technical details, including scaling the infrastructure, ISP outreach, reputation monitoring, whitelist services, and real time analytics. The service manages various types of email including shipping notifications, friend requests, sign-up confirmations, and email newsletters. Through SendGrid, you can track email opens, unsubscribes, bounces, and spam reports.

You can [visit the SendGrid website](https://sendgrid.com/) for more information on SendGrid's solutions, tools, and capabilities.

# Setting Up

## SendGrid Side

1. Login to your [SendGrid Dashboard](https://app.sendgrid.com/) using your registered credentials.
2. From the left navigation menu, Choose ['Marketing' > 'Senders](https://mc.sendgrid.com/senders)'.
3. Once you're on the Sender Management screen, click on the 'Create New Sender' button to the top right.

<Image border={false} src="https://files.readme.io/e9a96bf-sendgrid-1.png" title="sendgrid-1.png" />

4. You'll be prompted to enter the information for the sender. This includes name, contact information, physical mailing address. Note that unless the "From Email Address" field matches one of your authenticated domains, you'll need to verify the email address entered through a confirmation email.

<Image border={false} src="https://files.readme.io/7b58910-sendgrid-2.png" title="sendgrid-2.png" />

5. Once you have provided the needed information, click 'Save' to submit the information. Once redirected, refresh the page and make sure that the 'Verified' column has a green tick on it.

<Image border={false} src="https://files.readme.io/3e8616b-sendgrid-3.png" title="sendgrid-3.png" />

Next, we'll need to setup API Keys

6. Go to your SendGrid [API Keys page](https://app.sendgrid.com/settings/api_keys).
7. Click 'Create API Key' button on the top right corner to create an API Key for the Pelcro integration.

<Image border={false} src="https://files.readme.io/e7d3901-sendgrid-6.png" title="sendgrid-6.png" />

8. Fill in the required API Key name, and make sure to set the API Key Permissions to 'Full Access'. This allows API Key to access all of SendGrid's API endpoints for your account.
9. Once done, click 'Create & View' to save the provided information and create the API Key.

<Image border={false} src="https://files.readme.io/b0f8640-sendgrid-7.png" title="sendgrid-7.png" />

10. Once created, click the generated API Key to copy. Make sure to save the key somewhere safe.

<Image border={false} src="https://files.readme.io/da8b6b1-sendgrid-8.png" title="sendgrid-8.png" />

## Pelcro Side

1. Login to your Pelcro CRM Dashboard
2. From the Sidebar Menu, click [Integrations](https://pelcro.com/admin/integrations)

<Image border={false} src="https://files.readme.io/9aad836-sendgrid-4.png" title="sendgrid-4.png" />

3. Choose '[SendGrid](https://pelcro.com/admin/integrations/sendgrid)' to setup your new SendGrid Integration.

<Image border={false} src="https://files.readme.io/c02ade3-sendgrid-5.png" title="sendgrid-5.png" />

4. Once you arrive at the SendGrid Integration page, paste the previously copied API Key into the API key field.
5. Make sure to check the checkbox under Integration status section to ensure the Integration is enabled.

<Image align="center" border={false} src="https://files.readme.io/338161f5d5102c211a952123236523cf6bd5934464ae20771150f8cfbce6f245-Screenshot_2025-11-19_at_1.54.09_PM.png" title="sendgrid-9.png" />

6. Fill in the email address for 'Sender email' (this needs to match the one you've used on the SendGrid side), then fill in your 'Sender name' in the required fields.
7. Scroll down and click 'Update SendGrid' button to the bottom right to save the information.
8. Et Voila! Your SendGrid Integration is now ready for business.

<Callout icon="💡" theme="default">
  ### **Note:**  
  If your SendGrid API key **does not have Marketing Campaigns permissions**, make sure to enable the **Bypass Marketing Contacts** option in your SendGrid integration settings.  
  This will skip marketing contact operations while still allowing all transactional emails (e.g., invoices, receipts, password resets) to be sent successfully.
</Callout>

# Usage Examples

# 1 - Sending Customized Email Templates

## How does it work?

### Pelcro Events

We create an "Event" each time any of your customers does an activity on the Pelcro CRM. When the SendGrid Integration has been configured, these Events are then sent to your SendGrid account, which you can leverage to build emails, generate statistics and create different feedbacks on top of them. Using Pelcro, you'll be able to trigger automated emails on SendGrid using SendGrid's API /mail/send endpoint, whenever any of the following Pelcro events below is triggered.

> **Note:**\
> If a customer has a **billing email** defined, all billing-related events (such as `invoice.created`, `charge.succeeded`, etc.) will be sent to that billing email.\
> If no billing email is defined, these notifications will be sent to the customer’s primary email address.

### Handlebars

* Pelcro sends the needed information from the Pelcro.events as handlebars under 'dynamic\_template\_data' ), once the required information for given endpoints from the user on the platform is collected.

Let's assume you want to welcome your newly registered customer Mr. John Doe:

1. First, go to your SendGrid account and navigate to the ['Dynamic Templates' page](https://mc.sendgrid.com/dynamic-templates).
2. Click 'Create a Dynamic Template' button to the top-right corner of the screen.

<Image border={false} src="https://files.readme.io/bef06e2-sendgrid-10.png" title="sendgrid-10.png" />

3. Give your Dynamic Template a name (e.g. Customer Welcome Template), then click 'Create'.

<Image border={false} src="https://files.readme.io/dd2638a-sendgrid-11.png" title="sendgrid-11.png" />

After you've completed [the setup for your Dynamic Template on SendGrid](https://sendgrid.com/docs/ui/sending-email/how-to-send-an-email-with-dynamic-transactional-templates/), you'll need to:

4. Copy the Template ID from the SendGrid Template Screen

<Image border={false} src="https://files.readme.io/44d972e-sendgrid-12.png" title="sendgrid-12.png" />

5. Finally, paste the Template ID into the corresponding Customer Template field.

<Image border={false} src="https://files.readme.io/12dfe38-sendgrid-13.png" title="sendgrid-13.png" />

6. Submit your updates; once you have added the right template ID and clicked on the green 'add new' button. Your integration will start to work immediately.

## Event Handlebar Reference

### CUSTOMER CREATED

**event name**: customer\_created\
**usage**:  This means this customer has been created.\
**handlebars**:\
'email',\
'first\_name',\
'last\_name',\
'phone\_number',\
'address\_line\_1',\
'address\_line\_2',\
'city',\
'country',\
'postal\_code',\
'state\_province\_region',\
'id',\
'display\_name',\
'phone',\
'language',\
'balance',\
'salutation',\
'title',\
'currency',\
'metadata'

### CUSTOMER PASSWORD RESET

**event name**: customer\_reset\_password\
**usage**:  This means that the customer has requested a password reset and you need to send him a link that contains the password token. Below is an example of how you should build the link based on the user email and the password token.\
**example**: <https://www.yourdomain.com?view=password-reset&email={$email}> \&token=\{$token}\
**handlebars**:\
'email',\
'password\_reset\_token',\
'first\_name',\
'last\_name',\
'phone\_number',\
'address\_line\_1',\
'address\_line\_2',\
'city',\
'country',\
'postal\_code',\
'state\_province\_region',\
'id',\
'display\_name',\
'organization',\
'phone',\
'language',\
'balance',\
'salutation',\
'title',\
'currency',\
'metadata'

**source**:  On the integration page, you can select when the customer reset password event gets synced into SendGrid based on the source of the event.

* SDK API: Event originating from your end-user
* CORE API: Event originating from your team using the Core API
* Platform: Event originating from an action on the platform

### SUBSCRIPTION CREATED

**event name**: subscription\_created\
**usage**:  This event is triggered when a new subscription has been created for a customer.\
**handlebars**:\
All customer attributes listed in CUSTOMER CREATED and:\
'id',\
'address\_id',\
'address\_required',\
'billing',\
'cancel\_at',\
'cancel\_at\_period\_end',\
'canceled\_at',\
'created',\
'current\_period\_end',\
'current\_period\_start',\
'cancel\_reason',\
'days\_until\_due',\
'ended\_at',\
'quantity',\
'status',\
'start',\
'trial\_end',\
'trial\_start',\
'is\_gift\_donor',\
'is\_gift\_recipient',\
'due\_date',\
'gift\_code',\
'is\_redeemed',\
'shipments\_remaining',\
'apple\_iap\_receipt',\
'expires\_at',\
'renews\_at',\
'subscription\_plan',\
'subscription\_product'

### GIFT SUBSCRIPTION CREATED

**event name**: gift\_subscription\_created\
**usage**:  This event is triggered when a new gift subscription has been created for a customer.\
**handlebars**:\
All customer attributes listed in CUSTOMER CREATED and:\
'id',\
'address\_id',\
'address\_required',\
'billing',\
'cancel\_at',\
'cancel\_at\_period\_end',\
'canceled\_at',\
'created',\
'current\_period\_end',\
'current\_period\_start',\
'cancel\_reason',\
'days\_until\_due',\
'ended\_at',\
'quantity',\
'status',\
'start',\
'trial\_end',\
'trial\_start',\
'is\_gift\_donor',\
'is\_gift\_recipient',\
'due\_date',\
'gift\_code',\
'is\_redeemed',\
'shipments\_remaining',\
'apple\_iap\_receipt',\
'expires\_at',\
'renews\_at',\
'subscription\_plan',\
'subscription\_product',\
'donor\_first\_name',\
'donor\_last\_name',\
'donor\_email',\
'gift\_recipient\_first\_name',\
'gift\_recipient\_last\_name',\
'gift\_recipient\_email'

### SUBSCRIPTION RENEWED

**event name**: subscription\_renewed\
**usage**:  This means this customer has renewed their subscription.\
**handlebars**:\
All customer attributes listed in CUSTOMER CREATED and:\
'id',\
'address\_id',\
'address\_required',\
'billing',\
'cancel\_at',\
'cancel\_at\_period\_end',\
'canceled\_at',\
'created',\
'current\_period\_end',\
'current\_period\_start',\
'cancel\_reason',\
'days\_until\_due',\
'ended\_at',\
'quantity',\
'status',\
'start',\
'trial\_end',\
'trial\_start',\
'is\_gift\_donor',\
'is\_gift\_recipient',\
'due\_date',\
'gift\_code',\
'is\_redeemed',\
'shipments\_remaining',\
'apple\_iap\_receipt',\
'expires\_at',\
'renews\_at',\
'subscription\_plan',\
'subscription\_product'

### INVOICE CREATED

**event name**: invoice\_created\
**usage**:  This means this customer has a new invoice.\
**handlebars**:\
All customer attributes listed in CUSTOMER CREATED and:\
'id',\
'amount\_due',\
'amount\_paid',\
'amount\_remaining',\
'auto\_advance',\
'billing',\
'currency',\
'default\_source',\
'description',\
'discount',\
'due\_date',\
'hosted\_invoice\_url',\
'invoice\_pdf',\
'paid',\
'subscription\_id',\
'sub\_total',\
'status',\
'tax',\
'total',\
'created\_at',\
'updated\_at'

### MEMBER CREATED

**event name**: member\_created\
**usage**:  This means a member invitation was created.\
**handlebars**:\
'id',\
'subscription\_id',\
'user\_id',\
'invitation\_email',\
'address\_id',\
'status',\
'created\_at',\
'updated\_at'

Note: if the invited member also has a customer record on the platform, then this payload will also include all customer attributes listed in CUSTOMER CREATED.

### MEMBER ACTIVATED

**event name**: member\_activated\
**usage**:  This means the membership for the new member is now activated.\
**handlebars**:\
All customer attributes listed in CUSTOMER CREATED and:\
'id',\
'subscription\_id',\
'user\_id',\
'invitation\_email',\
'address\_id',\
'status',\
'created\_at',\
'updated\_at'

# 2 - Lists & Contacts

You can sync newsletter objects from Pelcro into SendGrid. On the SendGrid dashboard, click on 'Marketing' > 'Contacts' on the left-hand side and then click on 'Create' > 'New List' on the top-right corner. Give a name to your list and hit 'Save List'. This list is now ready for use on the Pelcro platform and via our SDKs.

For example, if you named your list 'test\_list', here is how it would be reflected on the Pelcro platform newsletter object.

<Image border={false} src="https://files.readme.io/0754003-Screen_Shot_2021-06-21_at_9.57.51_PM.png" title="Screen Shot 2021-06-21 at 9.57.51 PM.png" />

# Sibling pages

* [Dialog Insight](https://docs.pelcro.com/v2.4/docs/dialog-insight.md)
* [Darwin CX](https://docs.pelcro.com/v2.4/docs/darwin-cx.md)
* [Google Tag Manager](https://docs.pelcro.com/v2.4/docs/google-tag-manager.md)
* [Klaviyo](https://docs.pelcro.com/v2.4/docs/klaviyo.md)
* [Mandrill](https://docs.pelcro.com/v2.4/docs/mandrill.md)
* [Mailchimp](https://docs.pelcro.com/v2.4/docs/mailchimp.md)
* [MAPP Empower](https://docs.pelcro.com/v2.4/docs/mapp.md)
* [Omeda](https://docs.pelcro.com/v2.4/docs/omeda.md)
* [Zapier](https://docs.pelcro.com/v2.4/docs/zapier.md)