Sync Contacts with SendGrid
 Made by Twilio
Keeps a Firestore collection of contact data synced with a SendGrid Marketing Campaign contacts list
- Works with
 - Cloud Firestore
 - Version
 - 0.1.4 | Source code
 - License
 - Apache-2.0
 - Publisher
 - Twilio
 - Report
 - Bug
 - Abuse
 
How this extension works
Use this extension to add, update, or remove contacts from your SendGrid Marketing Campaigns contact list based on information added to a specified Cloud Firestore collection.
Adding a document triggers this extension to add a contact to the Marketing Campaigns contact list. Updating a document will update the contact’s data and deleting the document will trigger its removal from the contact list in SendGrid.
Here’s an example document that would trigger this extension:
admin.firestore().collection('contacts').add({
  email: 'someone@example.com',
  first_name: 'Bob',
  last_name: 'Bobson'
});
In the document you can add any of the following fields to your document and they will be applied to your contact:
| Field | type | |
|---|---|---|
email | 
string | required | 
alternate_emails | 
Array | 
|
first_name | 
string | |
last_name | 
string | |
address_line_1 | 
string | |
address_line_2 | 
string | |
city | 
string | |
postal_code | 
string | |
state_province_region | 
string | |
country | 
string | |
phone_number | 
string | |
whatsapp | 
string | |
line | 
string | |
facebook | 
string | |
unique_name | 
string | |
custom_fields | 
Map<string, string> | 
custom_fields must be defined within your SendGrid account and are a map of the custom field’s ID to the content.
Additional setup
Before installing this extension, make sure:
- You have set up a Cloud Firestore database in your Firebase project
 - You have signed up for a Twilio SendGrid Marketing Campaigns account
 - You have created a SendGrid API Key with access to the Marketing APIs
 
Billing
To install an extension, your project must be on the Blaze (pay as you go) plan
- You will be charged a small amount (typically around $0.01/month) for the Firebase resources required by this extension (even if it is not used).
 - This extension uses other Firebase and Google Cloud Platform services, which have associated charges if you exceed the service’s free tier:
- Cloud Firestore
 - Cloud Functions (Node.js 10+ runtime. See FAQs)
 - Cloud Secret Manager
 
 
Usage of this extension also requires you to have a Twilio SendGrid account and credentials in order to use the Twilio SendGrid API for marketing campaigns. You are responsible for any associated costs with your usage of Twilio SendGrid.