\\\",\\n \\\"css_content\\\" : \\\".tweet-text{background-color:#fff2ac;background-image:linear-gradient(to right,#ffe359 0,#fff2ac 100%);font-weight:bolder;font-size:32px;font-family:Roboto,sans-serif;padding:4px}\\\",\\n \\\"generate_img_url\\\": true\\n}\",\"__typename\":\"OauthBody\"},\"bodyParams\":[],\"authorization\":{\"type\":null,\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":[],\"cellParams\":[],\"tab\":\"Body\",\"__typename\":\"OauthReq\"},\"marketplaceContent\":null,\"integrationConnections\":{\"nodes\":[{\"id\":\"int_5bsjyymP\",\"slug\":\"convert-html-to-image-with-html-to-image-api-on-new-contact-from-twilio-sendgrid-api\",\"title\":\"Convert HTML to Image with HTML to Image API on New Contact from Twilio SendGrid API\",\"triggerKey\":\"sendgrid-new-contact\",\"triggerApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"__typename\":\"App\"},\"actionKey\":\"html_to_image-convert-html-to-image\",\"actionApp\":{\"id\":\"app_dBhwjL\",\"name\":\"HTML to Image\",\"__typename\":\"App\"},\"__typename\":\"Integration\"},{\"id\":\"int_YEsOaaAv\",\"slug\":\"convert-html-to-image-with-html-to-image-api-on-new-events-instant-from-twilio-sendgrid-api\",\"title\":\"Convert HTML to Image with HTML to Image API on New Events (Instant) from Twilio SendGrid API\",\"triggerKey\":\"sendgrid-events\",\"triggerApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"__typename\":\"App\"},\"actionKey\":\"html_to_image-convert-html-to-image\",\"actionApp\":{\"id\":\"app_dBhwjL\",\"name\":\"HTML to Image\",\"__typename\":\"App\"},\"__typename\":\"Integration\"},{\"id\":\"int_pQsOggDP\",\"slug\":\"convert-html-to-pdf-with-html-to-image-api-on-new-contact-from-twilio-sendgrid-api\",\"title\":\"Convert HTML to PDF with HTML to Image API on New Contact from Twilio SendGrid API\",\"triggerKey\":\"sendgrid-new-contact\",\"triggerApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"__typename\":\"App\"},\"actionKey\":\"html_to_image-convert-html-to-pdf\",\"actionApp\":{\"id\":\"app_dBhwjL\",\"name\":\"HTML to Image\",\"__typename\":\"App\"},\"__typename\":\"Integration\"},{\"id\":\"int_e9sByybN\",\"slug\":\"convert-html-to-pdf-with-html-to-image-api-on-new-events-instant-from-twilio-sendgrid-api\",\"title\":\"Convert HTML to PDF with HTML to Image API on New Events (Instant) from Twilio SendGrid API\",\"triggerKey\":\"sendgrid-events\",\"triggerApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"__typename\":\"App\"},\"actionKey\":\"html_to_image-convert-html-to-pdf\",\"actionApp\":{\"id\":\"app_dBhwjL\",\"name\":\"HTML to Image\",\"__typename\":\"App\"},\"__typename\":\"Integration\"},{\"id\":\"int_rDsvN868\",\"slug\":\"convert-url-to-image-with-html-to-image-api-on-new-contact-from-twilio-sendgrid-api\",\"title\":\"Convert URL to Image with HTML to Image API on New Contact from Twilio SendGrid API\",\"triggerKey\":\"sendgrid-new-contact\",\"triggerApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"__typename\":\"App\"},\"actionKey\":\"html_to_image-convert-url-to-image\",\"actionApp\":{\"id\":\"app_dBhwjL\",\"name\":\"HTML to Image\",\"__typename\":\"App\"},\"__typename\":\"Integration\"},{\"id\":\"int_Qms6jpOv\",\"slug\":\"convert-url-to-image-with-html-to-image-api-on-new-events-instant-from-twilio-sendgrid-api\",\"title\":\"Convert URL to Image with HTML to Image API on New Events (Instant) from Twilio SendGrid API\",\"triggerKey\":\"sendgrid-events\",\"triggerApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"__typename\":\"App\"},\"actionKey\":\"html_to_image-convert-url-to-image\",\"actionApp\":{\"id\":\"app_dBhwjL\",\"name\":\"HTML to Image\",\"__typename\":\"App\"},\"__typename\":\"Integration\"},{\"id\":\"int_XespbNLr\",\"slug\":\"convert-url-to-pdf-with-html-to-image-api-on-new-contact-from-twilio-sendgrid-api\",\"title\":\"Convert URL to PDF with HTML to Image API on New Contact from Twilio SendGrid API\",\"triggerKey\":\"sendgrid-new-contact\",\"triggerApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"__typename\":\"App\"},\"actionKey\":\"html_to_image-convert-url-to-pdf\",\"actionApp\":{\"id\":\"app_dBhwjL\",\"name\":\"HTML to Image\",\"__typename\":\"App\"},\"__typename\":\"Integration\"},{\"id\":\"int_Ads2YnGM\",\"slug\":\"convert-url-to-pdf-with-html-to-image-api-on-new-events-instant-from-twilio-sendgrid-api\",\"title\":\"Convert URL to PDF with HTML to Image API on New Events (Instant) from Twilio SendGrid API\",\"triggerKey\":\"sendgrid-events\",\"triggerApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"__typename\":\"App\"},\"actionKey\":\"html_to_image-convert-url-to-pdf\",\"actionApp\":{\"id\":\"app_dBhwjL\",\"name\":\"HTML to Image\",\"__typename\":\"App\"},\"__typename\":\"Integration\"}],\"__typename\":\"IntegrationConnection\"}},\"otherApp\":{\"id\":\"app_XKvh3O\",\"name\":\"Twilio SendGrid\",\"nameSlug\":\"sendgrid\",\"description\":\"Send marketing and transactional email through the Twilio SendGrid platform with the Email API, proprietary mail transfer agent, and infrastructure for scalable delivery.\",\"appPrompts\":[{\"id\":\"16915\",\"label\":\"Smart Email Personalization\",\"prompt\":\"Build me an agent that connects to my CRM system, pulls customer data and purchase history, then uses AI to generate highly personalized email content for each recipient. The agent should analyze customer behavior patterns, preferences, and demographics to craft unique subject lines and email body content, then send these personalized emails through SendGrid with proper segmentation and tracking.\",\"__typename\":\"AppPrompt\"},{\"id\":\"16916\",\"label\":\"Sentiment Response Automation\",\"prompt\":\"Create an agent that monitors SendGrid webhook events for email replies and bounces, uses AI to analyze the sentiment and intent of incoming email responses, categorizes them (complaints, praise, questions, etc.), and automatically generates appropriate follow-up emails or alerts. For negative sentiment, it should escalate to human support while for positive feedback, it should send thank you messages.\",\"__typename\":\"AppPrompt\"},{\"id\":\"16917\",\"label\":\"Content Optimization Engine\",\"prompt\":\"Build an agent that takes my email campaign drafts, uses AI to analyze and optimize the content for better engagement rates by suggesting improvements to subject lines, call-to-action buttons, and email copy based on industry best practices and A/B testing data. Then automatically create multiple variants through SendGrid and track performance to learn what works best for my audience.\",\"__typename\":\"AppPrompt\"},{\"id\":\"16918\",\"label\":\"Intelligent Campaign Timing\",\"prompt\":\"Create an agent that analyzes my SendGrid email engagement data (open rates, click rates, send times) using AI to determine the optimal send times for different customer segments. The agent should learn from historical data patterns and automatically schedule future email campaigns through SendGrid at the predicted best times for maximum engagement for each recipient group.\",\"__typename\":\"AppPrompt\"},{\"id\":\"16919\",\"label\":\"Dynamic List Management\",\"prompt\":\"Build me an agent that monitors customer behavior across multiple platforms (website visits, purchase history, social media engagement), uses AI to score and segment customers based on their likelihood to engage with different types of content, and automatically updates SendGrid contact lists and suppression lists to ensure the right messages reach the right people at the right time.\",\"__typename\":\"AppPrompt\"},{\"id\":\"16920\",\"label\":\"Automated Drip Campaigns\",\"prompt\":\"Create an agent that uses AI to analyze new subscriber data and behavior to automatically enroll them in personalized drip campaigns through SendGrid. The agent should generate custom email sequences based on subscriber interests, engagement patterns, and goals, then dynamically adjust the content and timing of subsequent emails based on their responses and interactions.\",\"__typename\":\"AppPrompt\"},{\"id\":\"16921\",\"label\":\"Deliverability Health Monitor\",\"prompt\":\"Build an agent that continuously monitors SendGrid delivery statistics, bounce rates, and spam complaints, uses AI to identify patterns that might indicate deliverability issues, and automatically generates recommendations for improving sender reputation. The agent should also create alerts when metrics fall below thresholds and suggest specific actions to maintain high deliverability rates.\",\"__typename\":\"AppPrompt\"},{\"id\":\"22856\",\"label\":\"Smart Bounce Management\",\"prompt\":\"Create an agent that monitors SendGrid bounce events and uses AI to analyze bounce reasons, categorize them (hard bounce, soft bounce, spam complaints), and automatically take appropriate actions like removing hard bounces from lists, scheduling retries for soft bounces, or flagging potential deliverability issues. The AI should also generate insights about bounce patterns and suggest list hygiene improvements.\",\"__typename\":\"AppPrompt\"}],\"authType\":\"keys\",\"customFieldsDescriptionMd\":\"\",\"oauthScopes\":[],\"customFields\":[{\"name\":\"api_key\",\"__typename\":\"AppCustomField\"}],\"oauthReqsByType\":{\"requestToken\":{\"httpMethod\":\"POST\",\"url\":\"\",\"urlParams\":[],\"headerParams\":[],\"body\":null,\"bodyParams\":[],\"authorization\":{\"type\":\"OAuth\",\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":null,\"cellParams\":null,\"tab\":null,\"__typename\":\"OauthReq\"},\"authorization\":{\"httpMethod\":\"GET\",\"url\":\"\",\"urlParams\":[{\"key\":\"client_id\",\"value\":\"{{oauth.client_id}}\",\"__typename\":\"Kv\"},{\"key\":\"redirect_uri\",\"value\":\"{{oauth.redirect_uri}}\",\"__typename\":\"Kv\"},{\"key\":\"state\",\"value\":\"{{oauth.state}}\",\"__typename\":\"Kv\"},{\"key\":\"response_type\",\"value\":\"code\",\"__typename\":\"Kv\"},{\"key\":\"scope\",\"value\":\"{{oauth.space_separated_scopes}}\",\"__typename\":\"Kv\"}],\"headerParams\":[],\"body\":null,\"bodyParams\":[],\"authorization\":{\"type\":null,\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":null,\"cellParams\":null,\"tab\":null,\"__typename\":\"OauthReq\"},\"accessToken\":{\"httpMethod\":\"POST\",\"url\":\"\",\"urlParams\":[],\"headerParams\":[{\"key\":\"content-type\",\"value\":\"application/x-www-form-urlencoded\",\"__typename\":\"Kv\"},{\"key\":\"accept\",\"value\":\"application/json\",\"__typename\":\"Kv\"}],\"body\":null,\"bodyParams\":[{\"key\":\"client_id\",\"value\":\"{{oauth.client_id}}\",\"__typename\":\"Kv\"},{\"key\":\"client_secret\",\"value\":\"{{oauth.client_secret}}\",\"__typename\":\"Kv\"},{\"key\":\"redirect_uri\",\"value\":\"{{oauth.redirect_uri}}\",\"__typename\":\"Kv\"},{\"key\":\"grant_type\",\"value\":\"authorization_code\",\"__typename\":\"Kv\"},{\"key\":\"code\",\"value\":\"{{oauth.code}}\",\"__typename\":\"Kv\"}],\"authorization\":{\"type\":null,\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":null,\"cellParams\":null,\"tab\":null,\"__typename\":\"OauthReq\"},\"refreshToken\":{\"httpMethod\":\"POST\",\"url\":\"\",\"urlParams\":[],\"headerParams\":[{\"key\":\"content-type\",\"value\":\"application/x-www-form-urlencoded\",\"__typename\":\"Kv\"},{\"key\":\"accept\",\"value\":\"application/json\",\"__typename\":\"Kv\"}],\"body\":null,\"bodyParams\":[{\"key\":\"client_id\",\"value\":\"{{oauth.client_id}}\",\"__typename\":\"Kv\"},{\"key\":\"client_secret\",\"value\":\"{{oauth.client_secret}}\",\"__typename\":\"Kv\"},{\"key\":\"grant_type\",\"value\":\"refresh_token\",\"__typename\":\"Kv\"},{\"key\":\"refresh_token\",\"value\":\"{{oauth.refresh_token}}\",\"__typename\":\"Kv\"}],\"authorization\":{\"type\":null,\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":null,\"cellParams\":null,\"tab\":null,\"__typename\":\"OauthReq\"},\"__typename\":\"OauthReqsByType\"},\"__typename\":\"App\",\"registryComponents\":[{\"id\":\"sc_0riE0JKd\",\"key\":\"sendgrid-add-email-to-global-suppression\",\"name\":\"Add Email to Global Suppression\",\"description\":\"Allows you to add one or more email addresses to the global suppressions group. [See the docs here](https://sendgrid.api-docs.io/v3.0/suppressions-global-suppressions/add-recipient-addresses-to-the-global-suppression-group)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_zziE9ekj\",\"key\":\"sendgrid-add-or-update-contact\",\"name\":\"Add or Update Contact\",\"description\":\"Adds or updates a contact. [See the docs here](https://docs.sendgrid.com/api-reference/contacts/add-or-update-a-contact)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_2AigzLqz\",\"key\":\"sendgrid-create-contact-list\",\"name\":\"Create Contact List\",\"description\":\"Allows you to create a new contact list. [See the docs here](https://docs.sendgrid.com/api-reference/lists/create-list)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_YNiwkpzN\",\"key\":\"sendgrid-create-send\",\"name\":\"Create Send\",\"description\":\"Create a single send. [See the docs here](https://www.twilio.com/docs/sendgrid/api-reference/single-sends/create-single-send)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_weivb9qL\",\"key\":\"sendgrid-delete-blocks\",\"name\":\"Delete Blocks\",\"description\":\"Allows you to delete all email addresses on your blocks list. [See the docs here](https://docs.sendgrid.com/api-reference/blocks-api/delete-blocks)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_RYijrpEG\",\"key\":\"sendgrid-delete-bounces\",\"name\":\"Delete Bounces\",\"description\":\"Allows you to delete all emails on your bounces list. [See the docs here](https://docs.sendgrid.com/api-reference/bounces-api/delete-bounces)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_GBiJ0wDR\",\"key\":\"sendgrid-delete-contacts\",\"name\":\"Delete Contacts\",\"description\":\"Allows you to delete one or more contacts. [See the docs here](https://docs.sendgrid.com/api-reference/contacts/delete-contacts)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_N0i5jorg\",\"key\":\"sendgrid-delete-global-suppression\",\"name\":\"Delete Global Suppression\",\"description\":\"Allows you to remove an email address from the global suppressions group. [See the docs here](https://docs.sendgrid.com/api-reference/suppressions-global-suppressions/delete-a-global-suppression)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_L4iq0vOg\",\"key\":\"sendgrid-delete-list\",\"name\":\"Delete List\",\"description\":\"Allows you to delete a specific contact list. [See the docs here](https://docs.sendgrid.com/api-reference/lists/delete-a-list)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_A3ipgyoO\",\"key\":\"sendgrid-get-a-block\",\"name\":\"Get a Block\",\"description\":\"Gets a specific block. [See the docs here](https://docs.sendgrid.com/api-reference/blocks-api/retrieve-a-specific-block)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_v4ixpoBd\",\"key\":\"sendgrid-get-a-global-suppression\",\"name\":\"Get A Global Suppression\",\"description\":\"Gets a global suppression. [See the docs here](https://docs.sendgrid.com/api-reference/suppressions-global-suppressions/retrieve-a-global-suppression)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_EgirZw5J\",\"key\":\"sendgrid-get-all-bounces\",\"name\":\"Get All Bounces\",\"description\":\"Allows you to get all of your bounces. [See the docs here](https://docs.sendgrid.com/api-reference/bounces-api/retrieve-all-bounces)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_8nie2p6a\",\"key\":\"sendgrid-get-contact-lists\",\"name\":\"Get Contact Lists\",\"description\":\"Allows you to get details of your contact lists. [See the docs here](https://docs.sendgrid.com/api-reference/lists/get-all-lists)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_99ivr9lo\",\"key\":\"sendgrid-list-blocks\",\"name\":\"List Blocks\",\"description\":\"Allows you to list all email addresses that are currently on your blocks list. [See the docs here](https://docs.sendgrid.com/api-reference/blocks-api/retrieve-all-blocks)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_ogi9rpy8\",\"key\":\"sendgrid-list-global-suppressions\",\"name\":\"List Global Suppressions\",\"description\":\"Allows you to get a list of all email address that are globally suppressed. [See the docs here](https://docs.sendgrid.com/api-reference/suppressions-global-suppressions/retrieve-all-global-suppressions)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_4Eib8Dp\",\"key\":\"sendgrid-new-contact\",\"name\":\"New Contact\",\"description\":\"Emit new event when a new contact is created\",\"type\":\"SOURCE\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_JDirBEk\",\"key\":\"sendgrid-events\",\"name\":\"New Events (Instant)\",\"description\":\"Emit new event when any of the specified SendGrid events is received\",\"type\":\"SOURCE\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_x0iQ9bdj\",\"key\":\"sendgrid-remove-contact-from-list\",\"name\":\"Remove Contact From List\",\"description\":\"Allows you to remove contacts from a given list. [See the docs here](https://docs.sendgrid.com/api-reference/lists/remove-contacts-from-a-list)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_DpiN0gx2\",\"key\":\"sendgrid-search-contacts\",\"name\":\"Search Contacts\",\"description\":\"Searches contacts with a SGQL query. [See the docs here](https://docs.sendgrid.com/api-reference/contacts/search-contacts)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_JDi801Gb\",\"key\":\"sendgrid-send-email-multiple-recipients\",\"name\":\"Send Email Multiple Recipients\",\"description\":\"This action sends a personalized e-mail to multiple specified recipients. [See the docs here](https://docs.sendgrid.com/api-reference/mail-send/mail-send)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_0riE0Jdo\",\"key\":\"sendgrid-send-email-single-recipient\",\"name\":\"Send Email Single Recipient\",\"description\":\"This action sends a personalized e-mail to the specified recipient. [See the docs here](https://docs.sendgrid.com/api-reference/mail-send/mail-send)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_OOiqp135\",\"key\":\"sendgrid-validate-email\",\"name\":\"Validate Email\",\"description\":\"Validates an email address. This action requires a Sendgrid's Pro or Premier plan. [See the docs here](https://docs.sendgrid.com/api-reference/e-mail-address-validation/validate-an-email)\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"}],\"componentCodeScaffoldRaw\":\"import { axios } from \\\"@pipedream/platform\\\"\\nexport default defineComponent({\\n props: {\\n sendgrid: {\\n type: \\\"app\\\",\\n app: \\\"sendgrid\\\",\\n }\\n },\\n async run({steps, $}) {\\n return await axios(,ドル {\\n url: `https://api.sendgrid.com/v3/user/account`,\\n headers: {\\n Authorization: `Bearer ${this.sendgrid.$auth.api_key}`,\\n },\\n })\\n },\\n})\\n\",\"testRequest\":{\"httpMethod\":\"GET\",\"url\":\"https://api.sendgrid.com/v3/user/account\",\"urlParams\":[],\"headerParams\":[],\"body\":null,\"bodyParams\":[],\"authorization\":{\"type\":\"Bearer\",\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"{{custom_fields.api_key}}\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":null,\"cellParams\":[],\"tab\":null,\"__typename\":\"OauthReq\"},\"marketplaceContent\":{\"id\":\"43\",\"markdown\":\"# Overview\\n\\nThe Twilio SendGrid API opens up a world of possibilities for email automation, enabling you to send emails efficiently and track their performance. With this API, you can programmatically create and send personalized email campaigns, manage contacts, and parse inbound emails for data extraction. When you harness the power of Pipedream, you can connect SendGrid to 3,000+ other apps to automate workflows, such as triggering email notifications based on specific actions, syncing email stats with your analytics, or handling incoming emails to create tasks or tickets.\\n\\n# Example Use Cases\\n\\n- **Automated Customer Support Tickets**: When a customer sends an email to your support address, SendGrid's Inbound Parse Webhook can catch it. Pipedream can then take that email, extract the relevant info, and automatically create a ticket in your customer support platform, such as Zendesk.\\n\\n- **Email Campaign Stats to Google Sheets**: After sending an email campaign through SendGrid, you may want to analyze the performance data. Pipedream can automatically fetch the stats, like opens, clicks, and bounces, and log them into a Google Sheet for easy tracking and visualization.\\n\\n- **E-commerce Order Confirmation and Follow-up**: When a new order is received in an e-commerce platform like Shopify, you can use Pipedream to trigger an order confirmation email via SendGrid. After a set period, you can follow up with another email asking for feedback or offering a discount on future purchases.\\n\\n# Getting Started\\n\\nFirst, open the SendGrid console and log in.\\n\\nThen open the [Integration Guide](https://app.sendgrid.com/guide/integrate) and select the **Web API** option.\\n\\n\\n\\nThen choose any language from the next menu. Choose any programming language; this selection only affects the example code shown. The key step is obtaining the API key.\\n\\nAfter picking a language, you'll be prompted to generate an API key, we recommend naming it `Pipedream` for easy identification.\\n\\n\\n\\nAfter creating the API key, copy it and paste it into the appropriate configuration field in a Pipedream SendGrid connected account, either through a Pipedream action/trigger or through the Connected Accounts section of the dashboard.\\n\\nYou can skip the remaining steps of the Integration guide that test your API key, as these are not necessary for the integration with Pipedream.\\n\\n# Troubleshooting\\n\\nSendGrid uses standard HTTP status codes to help troubleshoot issues.\\n\\nIf a SendGrid API call fails, Pipedream will show the error code which you can match with below:\\n\\n## 400 - Bad Request\\n\\nThis error is shown when the request is missing data or is malformed. An example is a malformed email address; SendGrid won't accept invalid email addresses to deliver mail.\\n\\n## 401 - Unauthorized\\n\\nThis means that your SendGrid API key connected to Pipedream is invalid or is missing from the request.\\n\\nEnsure the API key is copied correctly from your SendGrid console and included properly as an `Authorization` header in the format `Bearer ${your token here}`.\\n\\n## 403 - Sender email isn't verified\\n\\nThis error occurs when you attempt to use an unverified sender email address under your account. To resolve this error, use the correct email address or verify the email address. See the [verification requirements here](https://docs.sendgrid.com/for-developers/sending-email/sender-identity/).\\n\\n## 406 - Missing Accept header\\n\\nMake sure to pass `Accept: application/json` in the headers of your HTTP request in order for SendGrid to process your request correctly.\\n\\n## 429 - Rate Limit\\n\\nThis error is thrown when you're sending too many API requests in a short window. The `X-RateLimit-Remaining` and `X-RateLimit-Reset` headers in the response give you the amount of requests remaining in the current rate limit window.\\n\\nYou can use [Concurrency and Throttling](https://pipedream.com/docs/workflows/concurrency-and-throttling) in your workflow to throttle how quickly your workflow processes new events.\\n\\n## 500 - Internal Server Error\\n\\nThis means that SendGrid is having issues processing requests; check their [status page](https://status.sendgrid.com/) for updates on the service. For these issues, contact SendGrid directly.\\n\",\"__typename\":\"MarketplaceContent\"}}}","hasNext":false}}
with HTML to Image and Twilio SendGrid?
Create an image from HTML. See the documentation
Allows you to add one or more email addresses to the global suppressions group. See the docs here
Create a PDF file from HTML. See the documentation
Adds or updates a contact. See the docs here
Capture a screenshot from a URL. See the documentation
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
html_to_image: {
type: "app",
app: "html_to_image",
}
},
async run({steps, $}) {
const data = {
"html_content" : "<div class=\"mt-4 p-4 text-center\"style=width:500px><span class=\"mb-4 tweet-text\">This is Little Bear. He tolerates baths because he knows how phenomenal his floof will appear afterwards. 13/10</span><div class=\"mt-2 p-4\"><img class=\"mt-4 border rounded-circle shadow\"src=https://docs.htmlcsstoimage.com/assets/images/dog.jpg width=100px></div><h4 class=mt-2>WeRateDogs</h4><span class=text-muted>@dog_rates</span></div><link href=https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css rel=stylesheet crossorigin=anonymous integrity=sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk><link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@700\"rel=stylesheet>",
"css_content" : ".tweet-text{background-color:#fff2ac;background-image:linear-gradient(to right,#ffe359 0,#fff2ac 100%);font-weight:bolder;font-size:32px;font-family:Roboto,sans-serif;padding:4px}",
"generate_img_url": true
}
return await axios($, {
method: "post",
url: `https://api.htmlcsstoimg.com/api/v1/generateImage`,
headers: {
"CLIENT-API-KEY": `${this.html_to_image.$auth.api_key}`,
},
data,
})
},
})
The Twilio SendGrid API opens up a world of possibilities for email automation, enabling you to send emails efficiently and track their performance. With this API, you can programmatically create and send personalized email campaigns, manage contacts, and parse inbound emails for data extraction. When you harness the power of Pipedream, you can connect SendGrid to 3,000+ other apps to automate workflows, such as triggering email notifications based on specific actions, syncing email stats with your analytics, or handling incoming emails to create tasks or tickets.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
sendgrid: {
type: "app",
app: "sendgrid",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.sendgrid.com/v3/user/account`,
headers: {
Authorization: `Bearer ${this.sendgrid.$auth.api_key}`,
},
})
},
})