SendGrid is a third-party email execution engine used by RPI to deliver interaction emails.
The following channel-specific fields are shown for SendGrid email channels:
• Re-subscribe contacts: as per Salesforce Marketing Cloud email channel.
• Recipient email: as per Salesforce Marketing Cloud email channel.
• Service Credentials section, containing the following:
o Web API version: this dropdown field allows you to select the version of the SendGrid API to which you wish the channel to connect. It exposes two values - v2, selected by default, and v3.
If v2 is selected:
§ The SMTP Details section is enabled
§ API user is shown and enabled
§ API key ID is hidden
If v3 is selected:
§ The SMTP Details section is disabled
§ API key ID is shown and enabled
§ API user is hidden
o Web API URL: the URL of the API used to connect to the SendGrid service. Use of an HTTPS URL is supported in this context. The property defaults to ‘https://api.sendgrid.com/’.
o API key: this text field is mandatory. It accepts a maximum length of 100 characters. It represents the API key that will be used by the channel to connect to the SendGrid service. Note that the field is only visible when Web API version is set to 'v3'. Note also that the supplied API key must have the ‘Full Access’ API key permission.
o API user: this property is shown, enabled and mandatory when Web API version is set to v2. It defaults to the value 'apikey', and accepts a maximum length of 100 characters. It allows you to specify the API username used to authenticate SMTP when sending emails.
o API key ID: this text field is shown and enabled when Web API version is set to v3, in which case it is mandatory. It accepts a maximum length of 100 characters. It represents the API key ID that accompanies the provided API key, and which will be used by the channel to connect to the SendGrid service. Note that the field is only visible when Web API version is set to 'v3'.
• Suppressions section, containing the following:
o Auto-suppress: as per Salesforce Marketing Cloud email channel.
o Custom suppression table: as per Salesforce Marketing Cloud email channel.
o Suppression table name: as per Salesforce Marketing Cloud email channel.
• SMTP Details section, containing the following:
o SMTP server: the SMTP (Simple Mail Transfer Protocol) server used by the SendGrid service.
o SMTP port: the port used at the aforementioned server.
o SMTP timeout: the SMTP send call timeout (in milliseconds). This numerical field is mandatory and must be a value between 1 and 999,999,999. The value is set to 300,000 by default.
o Use SMTP relay: this checkbox is unchecked by default. When checked, it specifies that the channel should use the SendGrid SMTP relay (which is designed for use by high volume senders).
§ SMTP authentication: this property is only enabled when Use SMTP relay is checked. It represents the type of authentication to be used to connect to the SendGrid SMTP relay service.
A dropdown list, it exposes the following values:
§ Anonymous (the default)
§ Credentials
§ Windows Integrated
§ Username: this property is only enabled when Use SMTP relay is checked, and when SMTP authentication is set to Credentials. The textbox is mandatory when enabled and accepts a maximum value length of 100 characters. It represents the user name that will be used to connect to the SendGrid SMTP relay service.
§ Password: this property is only enabled when Use SMTP relay is checked, and when SMTP authentication is set to Credentials. The password-masked textbox is mandatory when enabled and accepts a maximum value length of 100 characters. It represents the password to be used to connect to the SendGrid SMTP relay service.
• Campaign Category section, containing the following:
o Use campaign category: this checkbox is unchecked by default. If checked, one or more category names will be used as part of an email campaign. When an email offer is executed using a channel at which Use campaign category is checked, configured category names will be substituted with runtime values, and will be reflected as Category names for the email campaign in SendGrid. Note that, if using SendGrid’s Categories feature, there exists the potential for execution performance to be compromised.
o Category names: this property consists of a toolbar and a list.
§ Toolbar: exposing a single button:
§ Click here to design category format: clicking this button displays the Design Category Name Format dialog.
The dialog is based on the standard RPI Design Format dialog and allows you to select text parts from which category names will be constructed. An example is shown at the bottom of the dialog. Clicking Close, or clicking off the dialog, closes it.
§ List: at least one, and a maximum of ten, custom category name formats can be supplied. Duplicates are not permitted. An inline Remove button is available at each list entry.
• Callback Service section, containing the following:
o Callback service URL: a public-facing service to which SendGrid will post state and metric data. The value entered should be the same as the Post Event URL configured in the SendGrid account's Event Notification app, which must be enabled to facilitate the return of results from SendGrid. Use of an HTTPS URL is supported in this context.
o Events external folder: clicking this button displays the Events External Folder dialog, in which you can select an external folder to which SendGrid event details will be written. The AWS, Azure Storage, Box, FTP, WebDAV and Cloudinary external content providers can be used to host such a folder. When an Events external folder is provided, email results are imported from the external folder.
o Configuration: this button allows you to copy the JSON configuration used at the SendGrid Callback service settings' ExternalContentProviderSettings section to the clipboard. It is enabled when an Events external folder has been selected.
• List Unsubscribe (optional) section, containing the following:
o Email unsubscribe: this text property, which is blank by default and which can be a maximum of 100 characters in length, allows you to specify the mailto portion of the List-Unsubscribe header that will receive unsubscribe requests. Email unsubscribe is mandatory when Web unsubscribe is provided. It must be set to a valid email address.
o Email unsubscribe subject: this optional text property accepts a maximum of 1000 characters. It allows you to specify the email unsubscribe subject parameter to be used for the mailto portion of the List-Unsubscribe header. If provided, Email unsubscribe must also be set.
When emails are sent and both properties are set, the 'List-Unsubscribe' header will be populated using the following format:
<mailto:[Email unsubscribe]?subject=[Email unsubscribe subject]>
o Web unsubscribe: this text property, which is blank by default and which can be a maximum of 1000 characters in length, allows you to specify the http portion of the List-Unsubscribe header that will receive a POST whenever someone clicks an unsubscribe link in an email. It must be set to a valid URL.
Note that configured Email and Web unsubscribe settings take effect only when SendGrid subscription tracking is disabled.
• Miscellaneous section, containing the following:
o Remove footer: as per Salesforce Marketing Cloud email channel.
o Disable click track: this checkbox is unchecked by default. If checked, URL click tracking is disabled at the current channel.
o Disable open track: this checkbox is unchecked by default. If checked, Open tracking is disabled at the current channel.
o Max send batch size: this integer property represents the maximum number of recipient records that can be sent at a single time to SendGrid. It defaults to 1000, which is also the minimum supported value, and accepts a maximum value of 10,000.
o Max send thresholds: this mandatory integer property defaults to 10, and can be set to between 1 and 10. It represents the maximum number of concurrent send operations that can be executed for a batch of email campaigns. At email offer activity execution, SendGrid email campaigns will be grouped as a batch based on identical content sets (such as HTML, Text and subject line). Batches of email campaigns can be sent in parallel in accordance with the value set at the property. Batch of email campaigns are processed based on the total number of batches/Max send thresholds. If the total number of batches is less than or equal to Max send thresholds, only a single send operation is performed. Details of send operations are available in the activity Log via the Results Window.
o BCC email address: as per Salesforce Marketing Cloud email channel.
o Email events shared folder: this mandatory text property accepts a maximum length of 1000 characters. If supplied, email events will be imported into the SendGridEvents table from the network folder path provided.
Note that the property is still required when using an Events external folder. In the event of an error in connecting with the external folder, email events will be saved to a folder defined by cluster system configuration setting SendGridEmailMetricsFolderPath. The channel's Email events shared folder should be configured to the same folder to afford access to those events that were unable to be saved to the external folder.
o Content templates shared folder: as per CheetahMail email channel.
o Event import batch size: this mandatory integer property defaults to the value 10,000. It accepts a minimum value of 5,000 and a maximum value of 20,000. It represents the maximum number of email events that can be imported into SendGrid in a single batch. If more events than the stipulated value need to be processed, they are handled in separate batches.
o Save event files: this checkbox, which is unchecked by default, indicates whether SendGrid event files will be moved to the ‘<TENANT ID>\Processed’ folder.
If checked, a warning message is shown:
o Save mail merge files: this checkbox is unchecked by default. When checked, SendGrid mail merge files will be persisted on the RPI server, in a location defined by the Mail merge shared folder property. If checked, a warning message is shown:
At channel execution when the property is checked, generated mail merge files will be saved to:
[Mail merge shared folder]\<clientid>\<channelName>\<channelexecutionid>.
o Mail merge shared folder: this text property is enabled when Save mail merge files is checked. It allows you specify a network folder to which SendGrid mail merge files will be saved.
o Override processed files location: this checkbox is unchecked by default. When checked, manual specification of the SendGrid processed event files default folder is supported.
o Processed files location: this textbox is enabled and mandatory when Override processed event files location is checked. It allows you to specify a network folder where processed event files will be saved. External folders are not supported in this context.
o Processed file retention period : this numeric property defaults to the value '30' and allows you to specify the number of days after which SendGrid processed files will be removed by RPI housekeeping.
o Max import file count: this property represents the maximum number of SendGrid event import files that will be processed each time the channel synchronization task executes. A mandatory integer, it defaults to 200, and accepts a minimum value of 10 and a maximum value of 9,999,999.
o API rate limit max. re-try: this mandatory numeric property, which defaults to 30, allows you to specify the number of retries to be attempted if a rate limit is hit when making calls to a SendGrid API.
o Use secondary password: this checkbox is unchecked by default. If checked, a secondary password will be used to validate each HTTP request against whitelisted IP addresses.
o Secondary password: this password-masked text field is enabled and mandatory when Use secondary password is checked. It allows you to specify a secondary password to be used to connect to SendGrid.
o Process older event files first: this checkbox is unchecked by default. If checked, RPI will prioritize the processing of older event files first.
o Fail if no mail merge files: this checkbox is unchecked by default. If checked, execution using the channel will fail in the event of no mail merge files being generated.
o Use open-track pixel: this checkbox is unchecked by default. If checked, a single '%open-track%' pixel must be provided in HTML content (a runtime validation error being raised if this is not the case).
o Custom headers: this property allows you to specify custom header values to be sent with emails executed using the channel. It consists of a header and a list.
§ Header: exposing the following:
§ Add: invocation adds a new custom header to the list.
§ Remove: invocation removes the currently-selected header from the list without display of an 'Are You Sure?' dialog.
§ List: lists custom headers associated with the channel. For each, are displayed:
§ Custom header name: mandatory, and a maximum of 100 characters in length.
§ Custom header value: mandatory, and a maximum of 100 characters in length.
§ Remove: inline button. Invocation removes the currently-selected header from the list without display of an 'Are You Sure?' dialog.
The following settings are available at the Advanced tab:
• External folder: as per Acoustic email channel.
• Import via file: as per Salesforce Marketing Cloud email channel.
• Import table suffix: as per Salesforce Marketing Cloud email channel.
• Import FTP location: as per Salesforce Marketing Cloud email channel.
• Request timeout: this property is set to a default value of 60 and accepts a minimum value of 3. It represents, in minutes, the amount of time for which an activity will wait for API requests to complete. At execution of an email offer in an interaction workflow, or a channel synchronization job, RPI will continue to send requests to SendGrid until a successful response is received or timeout period elapses.
• Enable trace: this checkbox is unchecked by default. When checked, API requests and corresponding replies from the email service provider are logged. At execution of an email offer in an interaction workflow, or a channel synchronization job, if checked, all requests made to SendGrid are logged. Note that this feature should be used only when troubleshooting to avoid logging an excessive amount of data to the database.
Note the following message, which is displayed when the property is checked:
Note also, when Enable trace is checked at a SendGrid channel, copies of any related MailMerge files will be created and stored at C:\temp\RPI\Emails\SendGrid\.
• Move hashtags to end of URL: as per Salesforce Marketing Cloud email channel.
Note that Web Adapters are supported at the channel.
A Validate channels job is created and executed on saving a new SendGrid email channel, or on saving following a change to an existing SendGrid email channel's Recipient email address field. Full details are as per the Salesforce Marketing Cloud email channel documentation.