{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification","LightboxImage"]},"type":"markdown"},"seo":{"title":"SendGrid integration","siteUrl":"https://developers.frontegg.com/","llmstxt":{"title":"Frontegg Developer Documentation","description":"Authentication, authorization, and user management for Customer Identity, plus Agen for SaaS and Agen for Work. Guides, SDKs, and API references.","sections":[{"title":"Customer Identity (CIAM)","description":"Auth, SSO, SCIM, entitlements, and user management — guides, SDKs, and APIs.","includeFiles":["ciam/**/*.md"],"excludeFiles":[]},{"title":"Agen for SaaS","description":"Agentic access and authorization for SaaS products.","includeFiles":["agen-for-saas/**/*.md"],"excludeFiles":[]},{"title":"Agen for Work","description":"Agentic access and authorization for internal and workforce use.","includeFiles":["agen-for-work/**/*.md"],"excludeFiles":[]},{"title":"Platform","description":"Shared platform overview.","includeFiles":["platform/**/*.md"],"excludeFiles":[]}],"excludeFiles":["internal-docs/**","ciam/guides/env-settings/inject-client-ip.md","CLAUDE.md",".claude/**","**/images/**"],"hide":false}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sendgrid-integration","__idx":0},"children":["SendGrid integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["SendGrid (Twilio SendGrid) is an email delivery and marketing platform. Integrating SendGrid with Frontegg lets your application send email, look up which sender addresses are verified, and read and manage marketing contacts on behalf of your users — all through Frontegg's integration layer (SendGrid v3 API). SendGrid authenticates with a static API key sent on every request, so there is no OAuth flow."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Prerequisites","type":"attention"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://sendgrid.com/"},"children":["Twilio SendGrid"]}," account"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Access to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → API Keys"]}," in the SendGrid app to create an API key"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["At least one verified ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sender Identity"]}," — the \"from\" address you intend to send from. Create it under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → Sender Authentication"]}," and confirm it from the email SendGrid sends you."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"connect-to-sendgrid","__idx":1},"children":["Connect to SendGrid"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["SendGrid authenticates API requests with a static API key, sent on every request as the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization: Bearer <key>"]}," header. You create the key in the SendGrid app and choose its permission level."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-1-open-api-keys","__idx":2},"children":["Step 1: Open API Keys"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sign in to SendGrid and go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → API Keys"]},". Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create API Key"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/sendgrid-1.fece4e4eaad0a1efbb992b202fde33403e964a91cf6bdc926f6ab4207832c358.1ce25488.png","alt":"SendGrid API Keys page with the Create API Key button"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-2-create-the-key","__idx":3},"children":["Step 2: Create the key"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fill in the key details:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API Key Name"]}," — A descriptive name, for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Frontegg Integration"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API Key Permissions"]}," — Choose ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Full Access"]},", or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Custom Access"]}," to scope the key down. For this integration the key needs ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Mail Send"]},", plus ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Marketing"]}," — set Marketing to Full Access if you want the integration to add, update, or delete contacts, or Read Access if reading them is enough."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create & View"]}," and copy the key value."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Copy your key now","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API key is shown only once, right after you create it. Copy it immediately and store it securely — treat it like a password. If it is exposed or lost, delete it and create a new one on the same ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API Keys"]}," page."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/sendgrid-2.073be403304a6519c28892f12677fb194fac4800f57dfc13d21363d4713273ac.1ce25488.png","alt":"SendGrid Create API Key panel with a name and Full Access selected"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-the-frontegg-portal","__idx":4},"children":["Configure the Frontegg portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have your API key, configure the integration in the Frontegg portal:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Frontegg portal"]}," and navigate to [ENVIRONMENT] → Integrations → SendGrid."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paste the key into the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API Key"]}," field."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The key needs permission covering:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scope"},"children":["Scope"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mail.send"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send email"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["marketing.read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read marketing contacts"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Writing contacts is governed by the key's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Marketing"]}," permission, granted when you create the key rather than by a separate scope."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Adding, updating, or deleting marketing contacts is asynchronous — SendGrid accepts the request immediately and applies it in the background, so a newly added contact can take up to a minute to appear in contact search."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Keep your credentials secure","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Never share or commit your API key to version control."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"verify-a-sender-address","__idx":5},"children":["Verify a sender address"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["SendGrid rejects any message whose ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["from"]}," address is not a verified Sender Identity, with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403"]}," response — the API key alone is not enough. In the SendGrid app, go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → Sender Authentication"]},", add the address you want to send from, and click the confirmation link SendGrid emails to it. You can verify a single address, or authenticate a whole domain if you send from many."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-resources","__idx":6},"children":["Additional resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.twilio.com/docs/sendgrid/api-reference"},"children":["SendGrid v3 API documentation"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.twilio.com/docs/sendgrid/ui/account-and-settings/api-keys"},"children":["SendGrid API key permissions"]}]}]}]},"headings":[{"value":"SendGrid integration","id":"sendgrid-integration","depth":2},{"value":"Connect to SendGrid","id":"connect-to-sendgrid","depth":3},{"value":"Step 1: Open API Keys","id":"step-1-open-api-keys","depth":4},{"value":"Step 2: Create the key","id":"step-2-create-the-key","depth":4},{"value":"Configure the Frontegg portal","id":"configure-the-frontegg-portal","depth":3},{"value":"Verify a sender address","id":"verify-a-sender-address","depth":3},{"value":"Additional resources","id":"additional-resources","depth":3}],"frontmatter":{"category":"Marketing","seo":{"title":"SendGrid integration"}},"lastModified":"2026-08-11T08:08:59.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/sendgrid","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}