Skip to contentSkip to navigationSkip to topbar
On this page

Create a parse setting



API Overview

api-overview page anchor

Twilio SendGrid's Inbound Parse Webhook allows you to receive emails as multipart/form-data at a URL of your choosing. SendGrid will grab the content, attachments, and the headers from any email it receives for your specified hostname.

See "Setting up the Inbound Parse Webhook" for help configuring the Webhook. You can also manage the Inbound Parse Webhook in the Twilio SendGrid App(link takes you to an external page).

To begin processing email using SendGrid's Inbound Parse Webhook, you will have to setup MX Records, choose the hostname (or receiving domain) that will be receiving the emails you want to parse, and define the URL where you want to POST your parsed emails. If you do not have access to your domain's DNS records, you must work with someone in your organization who does.


POST/v3/user/webhooks/parse/settings

Base url: https://api.sendgrid.com (for global users and subusers)

Base url: https://api.eu.sendgrid.com (for EU regional subusers)

This endpoint allows you to create a new inbound parse setting.

Creating an Inbound Parse setting requires two pieces of information: a url and a hostname.

The hostname must correspond to a domain authenticated by Twilio SendGrid on your account. If you need to complete domain authentication, you can use the Twilio SendGrid App(link takes you to an external page) or the Authenticate a Domain endpoint. See How to Set Up Domain Authentication for instructions.

Any email received by the hostname will be parsed when you complete this setup. You must also add a Twilio SendGrid MX record to this domain's DNS records. See Setting up the Inbound Parse Webhook for full instructions.

The url represents a location where the parsed message data will be delivered. Twilio SendGrid will make an HTTP POST request to this url with the message data. The url must be publicly reachable, and your application must return a 200 status code to signal that the message data has been received.


Authentication

authentication page anchor
Property nameTypeRequiredDescription
Authorizationstringrequired
Default: Bearer <<YOUR_API_KEY_HERE>>

on-behalf-ofstringOptional

The on-behalf-of header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be "account-id" followed by the customer account's ID (e.g., on-behalf-of: account-id <account-id>). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., on-behalf-of: <subuser-username>). See On Behalf Of for more information.

Encoding type:application/json
SchemaExample
Property nameTypeRequiredDescriptionChild properties
urlstringOptional

The public URL where you would like SendGrid to POST the data parsed from your email. Any emails sent with the given hostname provided (whose MX records have been updated to point to SendGrid) will be parsed and POSTed to this URL.


hostnamestringOptional

A specific and unique domain or subdomain that you have created to use exclusively to parse your incoming email. For example, parse.yourdomain.com.


spam_checkbooleanOptional

Indicates if you would like SendGrid to check the content parsed from your emails for spam before POSTing them to your domain.


send_rawbooleanOptional

Indicates if you would like SendGrid to post the original MIME-type content of your parsed email. When this parameter is set to true, SendGrid will send a JSON payload of the content of your email.

201401403404500
SchemaExample
Property nameTypeRequiredDescriptionChild properties
urlstring

The public URL where you would like SendGrid to POST the data parsed from your email. Any emails sent with the given hostname provided (whose MX records have been updated to point to SendGrid) will be parsed and POSTed to this URL.


hostnamestring

A specific and unique domain or subdomain that you have created to use exclusively to parse your incoming email. For example, parse.yourdomain.com.


spam_checkboolean

Indicates if you would like SendGrid to check the content parsed from your emails for spam before POSTing them to your domain.


send_rawboolean

Indicates if you would like SendGrid to post the original MIME-type content of your parsed email. When this parameter is set to true, SendGrid will send a JSON payload of the content of your email.

Create a parse settingLink to code sample: Create a parse setting
1
const client = require("@sendgrid/client");
2
client.setApiKey(process.env.SENDGRID_API_KEY);
3
4
const data = {
5
url: "http://email.myhostname.com",
6
hostname: "myhostname.com",
7
spam_check: false,
8
send_raw: true,
9
};
10
11
const request = {
12
url: `/v3/user/webhooks/parse/settings`,
13
method: "POST",
14
body: data,
15
};
16
17
client
18
.request(request)
19
.then(([response, body]) => {
20
console.log(response.statusCode);
21
console.log(response.body);
22
})
23
.catch((error) => {
24
console.error(error);
25
});

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.