---
title: SendGrid API Integration on Truto
slug: sendgrid
category: Email
canonical: "https://truto.one/integrations/detail/sendgrid/"
---

# SendGrid API Integration on Truto



**Category:** Email  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Users** — The User object represents a User.

## MCP-ready AI tools

Truto exposes 275 tools for SendGrid that AI agents can call directly.

- **list_all_sendgrid_teammates** — Get a list of all current teammates in SendGrid. Returns teammates' username, email, first_name, last_name, user_type, and is_admin fields. Use limit and offset to control pagination.
- **get_single_sendgrid_teammate_by_id** — Get information about a specific teammate by id in SendGrid. Returns username, first_name, last_name, email, scopes, user_type, is_admin, phone, website, company, address, address2, city, state, country, and zip.
- **create_a_sendgrid_teammate** — Invite a new teammate by email in SendGrid. Requires email, scopes array for permissions, and isAdmin boolean to set admin status. Invitation expires after 7 days but can be resent to reset expiration.
- **delete_a_sendgrid_teammate_by_id** — Delete a teammate by username in SendGrid. Requires the username as id. Only the parent user or an admin teammate can perform this action.
- **update_a_sendgrid_teammate_by_id** — Update a teammate's permissions by username in SendGrid. Requires is_admin boolean and scopes array. If is_admin is true, scopes must be empty. Only parent user or admin teammates can perform this update.
- **update_a_sendgrid_api_key_by_id** — Update the name and scopes of an API key in SendGrid by id. Returns the api_key_id, name, and scopes fields in the response.
- **list_all_sendgrid_api_keys** — Get all API keys for the authenticated user in SendGrid. Returns each key's name and id. Note: API keys themselves cannot be retrieved after creation.
- **get_single_sendgrid_api_key_by_id** — Get a single API key by id in SendGrid. Returns the key's name, id, and scopes. Returns 404 if the api_key_id does not exist.
- **create_a_sendgrid_api_key** — Create a new API Key in SendGrid with a required name. Returns the unique API key ID and other key details. Note: Maximum 100 keys allowed; omitting scopes grants Full Access by default.
- **delete_a_sendgrid_api_key_by_id** — Revoke an existing API Key in SendGrid using api_key_id. Returns 404 if the api_key_id does not exist. Revoked keys will fail authentication after a short propagation delay.
- **list_all_sendgrid_me** — Get the current user's profile in SendGrid. Returns address, city, company, country, first_name, last_name, phone, state, website, and zip fields.
- **list_all_sendgrid_teammate_subuser** — Get Subusers accessible by a specified Teammate in SendGrid using teammate_name. Returns subuser id, username, email, disabled status, permission_type, and scopes.
- **list_all_sendgrid_pending_teammates** — Get a list of all pending teammate invitations in SendGrid. Returns email, scopes, is_admin status, pending_id, and expiration_date for each invitation.
- **create_a_sendgrid_pending_teammate** — Resend a teammate invitation in SendGrid using token. Resending resets the 7-day expiration. Response includes pending_id, email, scopes, and is_admin fields.
- **delete_a_sendgrid_pending_teammate_by_id** — Delete a pending teammate invite in SendGrid using the token.
- **list_all_sendgrid_teammates_access_requests** — Get a list of recent access requests in SendGrid. Returns id, scope_group_name, username, email, first_name, and last_name for each request.
- **update_a_sendgrid_teammates_access_request_by_id** — Approve an access attempt for a teammate access request in SendGrid using id. Only teammate admins may approve another teammate’s access request. The response confirms the approval.
- **delete_a_sendgrid_teammates_access_request_by_id** — Delete a teammate access request by id in SendGrid to deny an attempt to access your account. Only teammate admins may perform this action.
- **list_all_sendgrid_alerts** — Get all alerts in SendGrid. Returns alert id, type, email, percentage for usage_limit alerts, frequency for stats_notification alerts, createdAt and updatedAt timestamps.
- **get_single_sendgrid_alert_by_id** — Get a specific alert by id in SendGrid. Returns fields id, created_at (timestamp), updated_at (timestamp), email_to (recipient email), frequency (notification frequency), and type (alert type).
- **create_a_sendgrid_alert** — Create a new alert in SendGrid with type and email. For stats_notification, frequency is required; for usage_limit, percentage is required. Returns the created alert details.
- **update_a_sendgrid_alert_by_id** — Update an alert by id in SendGrid. Returns the updated alert with fields email, frequency, and percentage reflecting the new alert settings.
- **delete_a_sendgrid_alert_by_id** — Delete an alert by id in SendGrid.
- **list_all_sendgrid_scheduled_sends** — Get all cancelled and paused scheduled sends in SendGrid. Returns scheduled sends associated with a batch_id, including batch_id and status fields.
- **get_single_sendgrid_scheduled_send_by_id** — Get cancel or paused scheduled send information for a specific batch_id in SendGrid. Returns batch_id and status fields indicating the scheduled send status.
- **update_a_sendgrid_scheduled_send_by_id** — Update the status of a scheduled send identified by id in SendGrid. The status can be set to 'cancel' or 'pause'. Updating status after using the cancel or pause endpoint results in a 400 error.
- **delete_a_sendgrid_scheduled_send_by_id** — Delete the cancellation or pause of a scheduled send in SendGrid using id. Note: Scheduled sends cancelled less than 10 minutes before the scheduled time may not be cancelled.
- **sendgrid_scheduled_sends_cancel_pause** — Cancel or pause a scheduled send by batch_id in SendGrid. Requires batch_id and status (pause or cancel). Returns confirmation of the updated status. Note: Cannot update if already paused or cancelled; max cancellations/pauses limit applies.
- **list_all_sendgrid_account** — Get all accounts under the organization in SendGrid. Returns account id and createdAt timestamp for each account.
- **create_a_sendgrid_account** — Create a new account with specified offerings in SendGrid. 
- **delete_a_sendgrid_account_by_id** — Delete a specific account by id in SendGrid. This irreversible action revokes API keys and SSO, removes offerings and resources, and cancels billing immediately.
- **sendgrid_account_single_sign_on** — Authenticate and log in a user to Twilio SendGrid as a specific admin identity configured for SSO by partner using accountID. Note: Additional teammates or subusers must log in directly via app.sendgrid.com.
- **get_single_sendgrid_account_state_by_id** — Get the state of the specified account in SendGrid. Requires account id. Returns the account state such as activated, deactivated, suspended, banned, or indeterminate.
- **update_a_sendgrid_account_state_by_id** — Update the state of the specified account in SendGrid. Requires id and state with possible values 'activated' or 'deactivated'.
- **list_all_sendgrid_offering** — Get offerings available under the organization in SendGrid. Returns catalog array with offering details including name, type, quantity, and entitlements such as email_sends_max_monthly, ip_count, teammates_max_total, and users_max_total.
- **get_single_sendgrid_offering_by_id** — Get offering information for the specified account in SendGrid. Requires account id. Returns offerings array with fields: name, type (package or addon), and quantity.
- **update_a_sendgrid_offering_by_id** — Change package and add-on offerings for the specified account in SendGrid. Requires account id and offerings list with name, type (package or addon), and quantity (1 for package).
- **list_all_sendgrid_authenticated_domains** — Get a paginated list of all authenticated domains in SendGrid. Returns fields including domain details and authentication status.
- **get_single_sendgrid_authenticated_domain_by_id** — Get a specific authenticated domain by id in SendGrid. Returns domain details including domain name, authentication status, and associated DNS records.
- **create_a_sendgrid_authenticated_domain** — Create an authenticated domain in SendGrid with domain parameter. Returns domain details including domain, subdomain, username, ips, custom_spf, default, automatic_security, custom_dkim_selector, and region.
- **update_a_sendgrid_authenticated_domain_by_id** — Update settings for an authenticated domain in SendGrid using id. Returns updated domain settings including default status and custom SPF configuration.
- **delete_a_sendgrid_authenticated_domain_by_id** — Delete an authenticated domain by id in SendGrid.
- **sendgrid_authenticated_domains_validate** — Validate an authenticated domain by id in SendGrid. Returns an error message if the domain validation fails.
- **list_all_sendgrid_default_authentication** — Get the default authentication domain details in SendGrid. Returns the default domain and its details if set, or general domain authentication status if no default is set.
- **create_a_sendgrid_domain_ip** — Add an IP address to an authenticated domain in SendGrid. Requires id and ip. Returns confirmation of the IP association with the domain.
- **delete_a_sendgrid_domain_ip_by_id** — Delete an IP address from the domain authentication in SendGrid. Requires id and ip. This removes the specified IP from the domain's whitelabel configuration.
- **list_all_sendgrid_subuser_domain_association** — Get all authenticated domains assigned to a specific subuser in SendGrid. Requires username. Returns domain details including domain name and association status.
- **get_single_sendgrid_subuser_domain_association_by_id** — Get all authenticated domains assigned to a specific subuser in SendGrid. Requires username. Returns domain details including domain name, id, and associated subuser.
- **create_a_sendgrid_subuser_domain_association** — Associate an authenticated domain with a subuser in SendGrid. Requires domain_id and username. This allows the subuser to send mail using the parent's authenticated domain.
- **delete_a_sendgrid_subuser_domain_association_by_id** — Delete the association of an authenticated domain from a subuser in SendGrid. Requires the username of the subuser to disassociate the domain.
- **list_all_sendgrid_email_address_validation** — Get a list of all Bulk Email Validation Jobs in SendGrid. Returns job details including job ID, status, and creation date.
- **get_single_sendgrid_email_address_validation_by_id** — Get a specific Bulk Email Validation Job by id in SendGrid. Returns job status and details to check progress.
- **create_a_sendgrid_email_address_validation** — Validate an email address in SendGrid. Requires the email address to be provided in the request body. Returns validation results including email validity status.
- **sendgrid_email_address_validation_upload** — Create an email validation job in SendGrid by uploading a list of email addresses. Requires file_type parameter specifying the format (csv or zip). Returns upload_uri and upload_headers for file upload.
- **create_a_sendgrid_email_dn** — Send DNS record information email to a colleague in SendGrid using link_id and domain_id to provide records for Link Branding and Domain Authentication. Requires email and IDs.
- **list_all_sendgrid_ip_address** — Get a paginated list of all assigned and unassigned IPs in SendGrid. Returns IP address, warm up status, pools, assigned subusers, and reverse DNS info.
- **sendgrid_ip_address_pools** — Get IP pools for a specific IP address in SendGrid. Requires id as the IP address. Returns the list of IP pools the IP address belongs to.
- **sendgrid_ip_address_assigned** — Get assigned IP addresses in SendGrid. Returns IP addresses dedicated to the account with their reputation based on aggregate sender performance.
- **sendgrid_ip_address_remaining** — Get the amount of IP addresses that can still be created and their price in SendGrid.
- **list_all_sendgrid_ip_address_management** — Get a list of all IP addresses associated with your SendGrid account. Returns IP details including Pools, auto warmup status, and last updated time.
- **get_single_sendgrid_ip_address_management_by_id** — Get details for a specified IP address in SendGrid. Requires ip. Returns fields including assignment status, warmup setting, associated Pools, added and modified dates, lease status, and enabled status.
- **create_a_sendgrid_ip_address_management** — Create a new IP address in SendGrid with is_auto_warmup and is_parent_assigned settings. Returns the created IP address details including region if include_region is true.
- **update_a_sendgrid_ip_address_management_by_id** — Update settings for an IP address in SendGrid using id. Requires at least one of is_auto_warmup, is_parent_assigned, or is_enabled. Returns updated IP address settings including these fields.
- **list_all_sendgrid_ip_pools** — Get all IP pools in SendGrid. Returns a list of IP pools with their names and associated IP addresses.
- **create_a_sendgrid_ip_pool** — Create an IP pool in SendGrid. Requires the name of the new IP pool. The response returns the created pool's details including its name.
- **update_a_sendgrid_ip_pool_by_id** — Update the name of an IP pool in SendGrid using pool_name. Returns the updated pool name.
- **delete_a_sendgrid_ip_pool_by_id** — Delete an IP pool by pool_name in SendGrid. Requires pool_name as id.
- **list_all_sendgrid_ip_warmup** — Get all IP addresses currently warming up in SendGrid. Returns details of each warming up IP address.
- **get_single_sendgrid_ip_warmup_by_id** — Get the warmup status for a specific IP address in SendGrid. Requires id as the IP address. Returns warmup status details.
- **create_a_sendgrid_ip_warmup** — Put an IP address into warmup mode in SendGrid. Provide the IP address in the request body under the 'ip' property.
- **delete_a_sendgrid_ip_warmup_by_id** — Remove an IP address from warmup mode in SendGrid. Requires ip_address. Returns 204 status code on success.
- **list_all_sendgrid_link_branding** — Get all branded links in SendGrid. Returns an array of branded link objects with details such as id, domain, and subdomain.
- **get_single_sendgrid_link_branding_by_id** — Get a specific branded link by id in SendGrid. Returns details of the branded link including its configuration and status.
- **create_a_sendgrid_link_branding** — Create a new branded link in SendGrid with the required domain. Optionally include subdomain, default status, and region. Returns the created link branding details including domain and subdomain.
- **update_a_sendgrid_link_branding_by_id** — Update a specific branded link by id in SendGrid. Allows changing the branded link's default status. Requires id.
- **delete_a_sendgrid_link_branding_by_id** — Delete a branded link by id in SendGrid. Returns a 204 status code on successful deletion. Note: The response does not include link details; retrieve them before deletion if needed.
- **list_all_sendgrid_reverse_dns** — Get a list of all Reverse DNS records in SendGrid. Supports filtering by ip prefix using the ip parameter. Returns fields including ip, domain, and associated whitelabel information.
- **get_single_sendgrid_reverse_dn_by_id** — Get a reverse DNS record by id in SendGrid. Returns the reverse DNS record details associated with the specified id.
- **create_a_sendgrid_reverse_dn** — Create reverse DNS for an IP address in SendGrid. Requires ip and domain. Optionally include subdomain. Returns confirmation of the reverse DNS setup.
- **delete_a_sendgrid_reverse_dn_by_id** — Delete a reverse DNS record by id in SendGrid. Returns a 204 status code on successful deletion.
- **sendgrid_reverse_dns_validate** — Validate a reverse DNS record by id in SendGrid. Returns the valid status and reason if validity cannot be determined.
- **list_all_sendgrid_sender_verification** — Get all Sender Identities associated with an account in SendGrid. Returns both verified and unverified senders. Supports filtering by id to return a specific Sender Identity.
- **create_a_sendgrid_sender_verification** — Create a new sender identity in SendGrid with required fields nickname, from_email, and reply_to. Returns sender details including nickname, from_email, and verification status. Verification email is sent to from_email.
- **update_a_sendgrid_sender_verification_by_id** — Update an existing Sender Identity in SendGrid by id. Returns the updated sender identity including nickname, from_email, reply_to, and address details.
- **delete_a_sendgrid_sender_verification_by_id** — Delete a Sender Identity by id in SendGrid. This removes the specified Sender Identity from your account.
- **sendgrid_sender_verification_resend** — Resend a verification email to the from_address of a specified Sender Identity in SendGrid using id.
- **sendgrid_sender_verification_verify** — Get verification status of a sender using the token in SendGrid. Requires token as id. Returns verification result indicating if the sender is verified.
- **list_all_sendgrid_engagement_quality_scores** — Get SendGrid Engagement Quality scores for the date range from and to. Returns positive and negative feedback scores for the specified period.
- **sendgrid_engagement_quality_scores_subusers** — Get SendGrid Engagement Quality scores for subusers on a specific date using datestring. Returns scores including positive and negative feedback counts.
- **list_all_sendgrid_design** — Get a list of existing designs in SendGrid. Returns design id, name, and updated_at fields for each design.
- **get_single_sendgrid_design_by_id** — Get information about a specific design in SendGrid. Requires id. Returns design details including stored fields for potential updates.
- **create_a_sendgrid_design** — Create a new design in SendGrid with required html_content. Returns design details including name, editor, html_content, and plain_content.
- **update_a_sendgrid_design_by_id** — Edit a design by id in SendGrid. Update fields like name, html_content, plain_content, generate_plain_content, subject, and categories. Returns the updated design object with these fields.
- **delete_a_sendgrid_design_by_id** — Delete a single design by id in SendGrid. This action is permanent and requires the design id.
- **sendgrid_design_duplicate** — Duplicate an existing design by id in SendGrid. Optionally set a new name and editor type. Returns the duplicated design's unique id and details.
- **list_all_sendgrid_prebuilt_design** — Get a list of pre-built designs from SendGrid. Returns design IDs and summary fields by default.
- **get_single_sendgrid_prebuilt_design_by_id** — Get details about a specific pre-built design in SendGrid using id. Returns fields describing the design for duplication and modification.
- **sendgrid_prebuilt_design_duplicate** — Duplicate a pre-built design in SendGrid by specifying id. Optionally rename the duplicate with the name field. Returns the duplicated design's unique id and name.
- **list_all_sendgrid_messages** — Get filtered email activity messages in SendGrid using query. Returns messages with fields like email details and status. Requires query parameter.
- **get_single_sendgrid_message_by_id** — Get all details about the specified message in SendGrid. Requires msg_id as id. Returns message fields including status, subject, sender, recipient, and timestamps.
- **create_a_sendgrid_csv** — Create a CSV file of message events from the last 30 days in SendGrid. The CSV contains up to 1 million events and a download email link is sent. The link expires in 3 days. The querystring parameter filters included messages.
- **sendgrid_csv_download** — Get a presigned URL to download the CSV file for the given download_uuid in SendGrid. The download_uuid is the UUID provided in the email when the CSV file is ready. Returns the presigned_url to access the CSV.
- **list_all_sendgrid_tracking_settings** — Get a list of all tracking settings in SendGrid. Returns fields name, title, description, and enabled status for each setting.
- **get_single_sendgrid_click_tracking_by_id** — Get current click tracking setting in SendGrid. Returns click tracking status and configuration details to understand how users engage with your email links.
- **update_a_sendgrid_click_tracking_by_id** — Update click tracking setting in SendGrid. Requires 'enabled' boolean to enable or disable click tracking. Response returns the current click tracking status.
- **get_single_sendgrid_google_analytics_tracking_by_id** — Get the current Google Analytics tracking settings in SendGrid. Returns fields including campaign tracking status and UTM parameters configuration.
- **update_a_sendgrid_google_analytics_tracking_by_id** — Update Google Analytics tracking settings in SendGrid. Returns the updated settings including enabled status and UTM parameters: utm_campaign, utm_content, utm_medium, utm_source, and utm_term.
- **get_single_sendgrid_open_tracking_by_id** — Get current open tracking settings in SendGrid. Returns settings including whether open tracking is enabled and configuration details.
- **update_a_sendgrid_open_tracking_by_id** — Update the current settings for open tracking in SendGrid. Requires the enabled boolean to set the new status. Returns the open_tracking object reflecting the updated settings.
- **get_single_sendgrid_subscription_tracking_by_id** — Get current subscription tracking settings in SendGrid. Returns subscription tracking configuration including enable status and substitution tag.
- **update_a_sendgrid_subscription_tracking_by_id** — Update subscription tracking settings in SendGrid. Returns the updated subscription tracking configuration including enabled status, html_content, landing page HTML, plain_content, replacement tag, and unsubscribe URL.
- **list_all_sendgrid_global_statistics** — Get global email statistics for the date range start_date to end_date in SendGrid. Returns aggregated stats including metrics like requests, delivered, opens, clicks, bounces, and spam reports.
- **list_all_sendgrid_browser_statistics** — Get email statistics segmented by browser type in SendGrid. Requires start_date. Returns stats including browser name, metrics like clicks, opens, and sends. Data stored up to 7 days.
- **list_all_sendgrid_client_statistics** — Get email statistics segmented by client type in SendGrid. Returns up to 7 days of email activity with key fields including client type and email actions.
- **sendgrid_client_statistics_client_type** — Get email statistics for a specific client_type in SendGrid from start_date. Returns stats including email activity counts segmented by client type. Data is limited to the last 7 days.
- **list_all_sendgrid_geo_statistics** — Get email statistics segmented by country and state/province in SendGrid. Requires start_date. Returns statistics including metrics by geographic location for up to 7 days.
- **list_all_sendgrid_device_statistics** — Get email statistics segmented by device type in SendGrid. Requires start_date. Returns device type, metrics, and timestamps. Data is stored for up to 7 days.
- **list_all_sendgrid_mailbox_providers** — Get email statistics segmented by recipient mailbox provider in SendGrid. Requires start_date and optionally end_date. Returns stats including counts of emails sent, delivered, and engagement metrics.
- **list_all_sendgrid_event_webhooks** — Get all Event Webhooks in SendGrid. Returns an array of webhooks with configuration details and id.
- **get_single_sendgrid_event_webhook_by_id** — Get a single Event Webhook by id in SendGrid. Returns fields including webhook configuration and optionally account_status_change if included.
- **create_a_sendgrid_event_webhook** — Create a new Event Webhook in SendGrid by providing the URL to receive event data. Returns webhook configuration including enabled status, event types subscribed, friendly_name, and OAuth settings if configured.
- **update_a_sendgrid_event_webhook_by_id** — Update a single Event Webhook by id in SendGrid. Requires url to set the webhook destination. Returns updated webhook including enabled status, event types subscribed, and friendly_name.
- **delete_a_sendgrid_event_webhook_by_id** — Delete a single Event Webhook by id in SendGrid. Requires the id of the webhook to delete. This endpoint returns an error if id is not provided to prevent unintentional deletions.
- **sendgrid_event_webhooks_test** — Test an Event Webhook by sending a fake event notification to the specified url in SendGrid. Requires url in the request body. Optional id, oauth_client_id, oauth_client_secret, and oauth_token_url can be included for OAuth configuration.
- **sendgrid_event_webhooks_toggle_signature** — Enable or disable signature verification for a single Event Webhook by id in SendGrid. Returns the public_key if enabled or an empty string if disabled.
- **list_all_sendgrid_inbound_parse_settings** — Get all current inbound parse settings in SendGrid. Returns an array of settings including url (POST destination), hostname (domain for parsing), spam_check (spam filtering enabled), and send_raw (original MIME content included).
- **get_single_sendgrid_inbound_parse_setting_by_id** — Get a specific inbound parse setting by hostname in SendGrid. Returns details of the inbound parse setting associated with the hostname.
- **create_a_sendgrid_inbound_parse_setting** — Create a new inbound parse setting in SendGrid with url and hostname. Returns the created setting details including url, hostname, spam_check, and send_raw flags.
- **update_a_sendgrid_inbound_parse_setting_by_id** — Update a specific inbound parse setting by hostname in SendGrid. Requires hostname. Returns updated settings including url, hostname, spam_check, and send_raw fields.
- **delete_a_sendgrid_inbound_parse_setting_by_id** — Delete a specific inbound parse setting by hostname in SendGrid. Requires hostname as id.
- **list_all_sendgrid_parse_security_policies** — Get a list of all webhook security policies configured for your account in SendGrid. Returns policy IDs, names, and security configurations.
- **get_single_sendgrid_parse_security_policy_by_id** — Get details of a specific webhook security policy by id in SendGrid. Returns fields including policy id, name, and settings.
- **create_a_sendgrid_parse_security_policy** — Create a new webhook security policy in SendGrid. Requires either signature or oauth in the request body to form a valid security policy. Returns the created security policy details including name and configuration.
- **update_a_sendgrid_parse_security_policy_by_id** — Update an existing webhook security policy by id in SendGrid. Returns updated policy fields including names, oauth configuration, and signature settings.
- **delete_a_sendgrid_parse_security_policy_by_id** — Delete a webhook security policy by id in SendGrid.
- **list_all_sendgrid_contacts** — Get up to 50 of the most recent contacts in SendGrid. Returns contact details including id, email, first_name, last_name, phone_number, list_ids, segment_ids, created_at, updated_at, and total contact_count.
- **get_single_sendgrid_contact_by_id** — Get full details and all fields for a specific contact in SendGrid using id. Returns complete contact information.
- **create_a_sendgrid_contact** — Upsert up to 30,000 contacts in SendGrid with at least one identifier (email, phone_number_id, external_id, or anonymous_id). Returns job_id to check processing status. Custom fields must be pre-created.
- **delete_a_sendgrid_contact_by_id** — Delete one or more contacts in SendGrid. Requires either ids as a comma-separated list of contact IDs or delete_all_contacts set to "true" to delete all contacts. Deletion is processed asynchronously.
- **get_single_sendgrid_contacts_import_by_id** — Get the status of a contact import job in SendGrid using id. Returns job status (pending, completed, errored, failed) and results object with job-specific fields. Use errors_url file for error details if any.
- **create_a_sendgrid_contacts_import** — Import contacts by uploading a CSV file with field_mappings in SendGrid. Returns upload_uri and upload_headers for file upload. Requires file_type as 'csv' and at least one identifier in the CSV.
- **list_all_sendgrid_contacts_exports** — Get details of all current exported jobs in SendGrid. Returns an array of export jobs with fields id, status, created_at, completed_at, expires_at, urls (download links if ready), user_id, export_type, segments, and lists.
- **get_single_sendgrid_contacts_export_by_id** — Get the status of a contact export job in SendGrid using id. Returns URLs to download CSV files of exported contacts.
- **create_a_sendgrid_contacts_export** — Create an export of contact lists or segments in SendGrid. Specify list_ids or segment_ids to export. The response returns an id to track the export status and retrieve download URLs.
- **list_all_sendgrid_contacts_search** — Search contacts using an SGQL query string in SendGrid. Returns up to 50 contacts matching the query with fields including email, created_at, and updated_at.
- **sendgrid_contacts_search_identifier** — Search up to 100 contacts by identifier_type and identifiers in SendGrid. Returns matching contacts with fields like contact details. Requires identifier_type and identifiers array.
- **sendgrid_contacts_search_emails** — Search contacts by emails in SendGrid. Requires emails array. Returns matching contacts with fields including email and alternate_emails. Returns 404 if no contacts found and 400 if any email is invalid.
- **sendgrid_contacts_search_batch** — Retrieve a set of contacts by their ids in SendGrid. Requires a request body with up to 100 ids. Returns contact details for the specified ids.
- **list_all_sendgrid_custom_fields** — Get all defined Custom Fields and Reserved Fields in SendGrid.
- **create_a_sendgrid_custom_field** — Create a new custom field definition in SendGrid with name and field_type. The name must be unique case-insensitively, start with a letter or underscore, and contain only alphanumeric characters or underscores. Returns the id of the created field.
- **update_a_sendgrid_custom_field_by_id** — Update a defined Custom Field in SendGrid using id. Only custom fields can be modified; reserved fields cannot be updated. Returns the updated field_definition with the new name.
- **delete_a_sendgrid_custom_field_by_id** — Delete a defined Custom Field in SendGrid. Only Custom Fields can be deleted; Reserved Fields cannot be deleted. Requires id.
- **list_all_sendgrid_lists** — Get all contact lists in SendGrid. Returns an array of lists with details including list id and name.
- **get_single_sendgrid_list_by_id** — Get data about a specific list in SendGrid by id. Returns list details including full contact count and, if contact_sample=true, up to 50 recent contacts attached to the list.
- **create_a_sendgrid_list** — Create a new contacts list in SendGrid with the required name. Returns metadata including a link to the newly created list.
- **update_a_sendgrid_list_by_id** — Update the name of a list in SendGrid. Requires id and a JSON body with the new name. Returns the updated list details.
- **delete_a_sendgrid_list_by_id** — Delete a specific list by id in SendGrid. Optionally delete associated contacts by setting delete_contacts=true. Returns no content.
- **list_all_sendgrid_contact_list** — Get the number of contacts on a specific list in SendGrid. Requires id. Returns contact_count indicating the total contacts on the list.
- **delete_a_sendgrid_contact_list_by_id** — Remove contacts from a specific contact list in SendGrid. Requires id of the list and contact_ids as a comma separated list of contact IDs to remove. Contacts are not deleted, only removed from the list.
- **list_all_sendgrid_single_send_stats** — Get stats for all Single Sends in SendGrid. Returns fields including id, ab_variation, ab_phase, aggregation, and stats metrics such as bounces, clicks, delivered, opens, and unsubscribes.
- **get_single_sendgrid_single_send_stat_by_id** — Get detailed stats for a Single Send by id in SendGrid. Returns fields including id, ab_variation, ab_phase, aggregation, and stats metrics such as bounces, clicks, delivered, opens, spam reports, and unsubscribes.
- **create_a_sendgrid_single_send_stat** — Export Single Send stats as CSV data in SendGrid. You can specify multiple Single Send ids as a comma-separated list in the ids query parameter. The response is plain text CSV format.
- **sendgrid_single_send_stats_click_tracking** — Get click-tracking stats for a Single Send in SendGrid by id. Returns URLs embedded in the Single Send and the number of clicks each received.
- **list_all_sendgrid_automation_stats** — Get stats for all Automations in SendGrid. Returns automation IDs, stats data, and pagination metadata. Use automation_ids to filter by specific automations.
- **get_single_sendgrid_automation_stat_by_id** — Get stats for a single Automation by id in SendGrid. Returns detailed stats including step_id grouping, aggregated_by time slices, and date range filtering with key fields like metrics and timestamps.
- **create_a_sendgrid_automation_stat** — Export Single Send stats as CSV data in SendGrid. Supports filtering by ids (Single Send IDs). The response is plain text CSV format.
- **sendgrid_automation_stats_click_tracking** — Get click-tracking stats for a single Automation in SendGrid by id. Returns URLs embedded in the Automation and the number of clicks each received.
- **list_all_sendgrid_segmenting_contacts** — Get a list of segments in SendGrid filtered by ids, parent_list_ids, or no_parent_list_id. Returns segment id, name, and parent_list_id fields.
- **get_single_sendgrid_segmenting_contact_by_id** — Get a single segment by id in SendGrid. Returns segment details including id, name, and optionally the parsed SQL AST as query_json if requested.
- **delete_a_sendgrid_segmenting_contact_by_id** — Delete a segment by id in SendGrid. Deleting a segment does not remove contacts associated with it; contacts remain in your list and other segments.
- **list_all_sendgrid_single_send** — Get all Single Sends in SendGrid. Returns condensed details including Single Sends' IDs.
- **get_single_sendgrid_single_send_by_id** — Get details about a specific Single Send in SendGrid using id. Returns fields including Single Send configuration and status.
- **create_a_sendgrid_single_send** — Create a new Single Send in SendGrid with the required name. Returns the Single Send's id, name, and status. Note: This creates a draft that is not sent or scheduled until updated with the Schedule Single Send endpoint or UI.
- **update_a_sendgrid_single_send_by_id** — Update a draft Single Send by id in SendGrid. Returns updated Single Send fields including name, categories, send_at, send_to details, and email_config settings. Note: send_at prepopulates send date but does not schedule sending.
- **delete_a_sendgrid_single_send_by_id** — Delete a Single Send by id in SendGrid. This operation permanently removes the Single Send and it cannot be recovered.
- **sendgrid_single_send_duplicate** — Duplicate an existing Single Send by id in SendGrid. Returns the duplicated Single Send details including the new name, which is 'Copy of ' plus the original name if no name is provided.
- **sendgrid_single_send_search** — Search Single Sends by name, status, or categories in SendGrid. Returns fields including id, name, status, and categories for each matching Single Send.
- **sendgrid_single_send_bulk_delete** — Delete multiple Single Sends by providing an array of Single Send ids in SendGrid. Deletion is permanent and Single Sends cannot be recovered.
- **list_all_sendgrid_single_send_categories** — Get all categories associated with Single Sends in SendGrid. Returns up to the latest 1,000 categories.
- **create_a_sendgrid_schedule_single_send** — Schedule or send immediately a Single Send in SendGrid by specifying the send_at time in ISO 8601 format or 'now'. Requires id and send_at. The response confirms scheduling status.
- **delete_a_sendgrid_schedule_single_send_by_id** — Cancel a scheduled Single Send using the id in SendGrid. This request cancels the scheduled sending but does not delete the Single Send itself.
- **list_all_sendgrid_integrations** — Get all integrations for the user in SendGrid. Returns integration_id, user_id, filters with email_events, properties including write_key and destination_region, label, and destination.
- **get_single_sendgrid_integration_by_id** — Get information about a specific integration in SendGrid. Requires id. Returns integration details including configuration and status.
- **create_a_sendgrid_integration** — Create an Integration for email event forwarding in SendGrid with destination, filters.email_events, and properties including write_key and destination_region. Returns the created integration details.
- **update_a_sendgrid_integration_by_id** — Update an existing Integration in SendGrid by id. Returns the updated integration including label, destination, filters.email_events, and properties.write_key fields.
- **delete_a_sendgrid_integration_by_id** — Delete an integration by id in SendGrid.
- **list_all_sendgrid_senders** — Get a list of all Senders in SendGrid. Returns sender id, nickname, from email and name, reply_to email and name, physical address, verification status, lock status, and timestamps.
- **get_single_sendgrid_sender_by_id** — Get details for a specific Sender by id in SendGrid. Returns sender's id, nickname, from email, from name, reply-to email, and address information.
- **create_a_sendgrid_sender** — Create a new Sender in SendGrid with required fields nicknames, from.email, from.name, reply_to.email, address, city, and country. The response returns the created sender details including verification status.
- **update_a_sendgrid_sender_by_id** — Update an existing Sender by id in SendGrid. Returns updated sender fields including nickname, from email and name, reply_to email and name, and physical address details. Updates to from.email require re-verification.
- **delete_a_sendgrid_sender_by_id** — Delete an existing Sender by id in SendGrid.
- **create_a_sendgrid_send_test_email** — Send a test marketing email using SendGrid with required template_id and emails (up to 10). Include either sender_id or from_address. Returns confirmation of the test email send.
- **list_all_sendgrid_api_key_permissions** — Get a list of all scopes assigned to the API key used for authentication in SendGrid. Returns the scopes array representing permissions granted to the key.
- **get_single_sendgrid_enforced_tl_by_id** — Get current Enforced TLS settings in SendGrid. Returns require_tls and require_valid_cert fields indicating if TLS 1.1+ or a valid certificate is required for recipients.
- **update_a_sendgrid_enforced_tl_by_id** — Update Enforced TLS settings in SendGrid. Set require_tls to true to require TLS from recipients. If require_tls or require_valid_cert is true, recipients must support TLS 1.1+ or have a valid certificate. Returns updated enforced_tls settings including require_tls, require_valid_cert, and version.
- **list_all_sendgrid_ip_access_management** — Get a list of all IP addresses that recently attempted to access your account in SendGrid. Returns fields including ip, allowed status, auth_method, first_at, last_at, and location.
- **list_all_sendgrid_ip_access_activity** — Get a list of IP addresses allowed to access your account in SendGrid. Returns id, ip, created_at, and updated_at for each IP address.
- **get_single_sendgrid_ip_access_activity_by_id** — Get information about a specific allowed IP address by id in SendGrid. Returns details of the allowed IP including its rule_id.
- **create_a_sendgrid_ip_access_activity** — Add one or more allowed IP addresses in SendGrid. Requires an array of IPs in the request body. Returns the list of added IPs with their assigned id.
- **delete_a_sendgrid_ip_access_activity_by_id** — Delete a specific allowed IP address by id in SendGrid. Requires the id of the IP address to remove it from the whitelist.
- **sendgrid_ip_access_activity_remove_multiple_ips** — Remove one or more IP addresses from the allow list in SendGrid by providing an array of IP address IDs. Removing your own IP address will block account access and requires a support ticket to restore.
- **list_all_sendgrid_mail_settings** — Get a list of all mail settings in SendGrid. Returns each setting's title, enabled status, name, and description.
- **get_single_sendgrid_address_whitelist_setting_by_id** — Get current email address whitelist settings in SendGrid. Returns the whitelist that specifies email addresses or domains exempt from suppression such as bounces, blocks, and unsubscribes.
- **update_a_sendgrid_address_whitelist_setting_by_id** — Update email address whitelist settings in SendGrid. Use 'enabled' to enable or disable the whitelist. Provide 'list' to overwrite the whitelist entries with specific email addresses or domains. Returns the updated whitelist settings.
- **get_single_sendgrid_bounce_purge_setting_by_id** — Get current Bounce Purge mail settings in SendGrid. Returns maximum age for contacts in hard and soft bounce suppression lists, which determines deletion of contacts older than configured age.
- **update_a_sendgrid_bounce_purge_setting_by_id** — Update Bounce Purge mail settings in SendGrid to configure maximum age for contacts in hard and soft bounce suppression lists. Returns enabled status, soft_bounces, and hard_bounces fields.
- **get_single_sendgrid_forward_bounce_setting_by_id** — Get current bounce forwarding mail settings in SendGrid. Returns 'email' set to receive forwarded bounces and 'enabled' status indicating if the setting is active.
- **update_a_sendgrid_forward_bounce_setting_by_id** — Update the bounce forwarding mail settings in SendGrid. Requires 'enabled' to indicate if forwarding is active and 'email' for the bounce report destination address.
- **get_single_sendgrid_forward_spam_setting_by_id** — Get current Forward Spam mail settings in SendGrid. Returns the enabled status and email addresses set to receive forwarded spam.
- **update_a_sendgrid_forward_spam_setting_by_id** — Update Forward Spam mail settings in SendGrid. Set the email addresses to forward spam reports and enable or disable the setting. Returns the updated forward_spam settings including email and enabled status.
- **get_single_sendgrid_footer_setting_by_id** — Get current Footer mail settings in SendGrid. Returns footer settings including custom HTML or plain text inserted at the bottom of email message bodies.
- **update_a_sendgrid_footer_setting_by_id** — Update the current Footer mail settings in SendGrid. Requires enabled, html_content, and plain_content to set the custom footer for email messages.
- **get_single_sendgrid_template_setting_by_id** — Get current legacy email template settings in SendGrid. Returns the template settings that wrap an HTML template around your email content for marketing or HTML formatted messages.
- **update_a_sendgrid_template_setting_by_id** — Update the legacy email template settings in SendGrid. Allows enabling the template and setting new HTML content. Returns the updated template settings including enabled status and html_content.
- **list_all_sendgrid_partner_settings** — Get a paginated list of all partner settings available to enable in SendGrid. Returns partner_settings array with details of each setting.
- **delete_a_sendgrid_email_data_erase_by_id** — Delete recipients' personal email data in SendGrid by providing a list of unique email_addresses. Returns any invalid email addresses in the error response. Maximum 5,000 addresses or 256Kb payload per request.
- **list_all_sendgrid_subusers** — Get a paginated list of all subusers in SendGrid. Returns subuser usernames and other details depending on include_region flag.
- **create_a_sendgrid_subuser** — Create a new subuser in SendGrid with required usernames, email, password, and assigned IP addresses. Returns subuser details including username, email, and assigned IPs.
- **update_a_sendgrid_subuser_by_id** — Update the assigned IP addresses for a subuser in SendGrid. Requires subuser name as id and an array of IPv4 addresses in the request body.
- **delete_a_sendgrid_subuser_by_id** — Delete a subuser by subuser_name in SendGrid. This is a permanent action and the subuser cannot be retrieved after deletion.
- **sendgrid_subusers_enable_disable** — Update the disabled status of a subuser in SendGrid. Requires subuser_name as id and a boolean disabled field in the request body indicating if the subuser is enabled or disabled.
- **sendgrid_subusers_enable_disable_website** — Enable or disable website access for a Subuser in SendGrid using subuser_name as id. The response confirms the updated disabled status indicating if website access is enabled or disabled.
- **get_single_sendgrid_subuser_credit_by_id** — Get Credits overview for a Subuser in SendGrid. Requires subuser name as id. Returns credits details for the specified subuser.
- **update_a_sendgrid_subuser_credit_by_id** — Update the Credits for a Subuser in SendGrid. Requires subuser_name as id. Returns updated credit information.
- **sendgrid_subuser_credits_remaining_credits** — Update the remaining credits for a Subuser in SendGrid by specifying subuser_name as id and allocation_update to adjust credits.
- **list_all_sendgrid_subusers_stats** — Get email statistics for the given subusers in SendGrid. Requires subusers and start_date. Returns stats including metrics like requests, delivered, opens, clicks, bounces, and blocks.
- **list_all_sendgrid_subusers_stats_monthly** — Get monthly email statistics for all subusers in SendGrid for the given datestring. Returns stats including blocks, bounces, clicks, delivered, opens, requests, unique_clicks, unique_opens, and unsubscribes. Cannot sort by bounce_drops, deferred, invalid_emails, processed, spam_report_drops, spam_reports, or unsubscribe_drops.
- **get_single_sendgrid_subusers_stats_monthly_by_id** — Get monthly email statistics for a specific subuser in SendGrid using subuser_name and datestring. Returns metrics including blocks, bounces, clicks, delivered, opens, requests, unique_clicks, unique_opens, and unsubscribes.
- **get_single_sendgrid_user_account_by_id** — Get user account details in SendGrid. Returns account type and reputation fields.
- **update_a_sendgrid_user_email_address_by_id** — Update the email address currently on file for your account in SendGrid. Provide the new email address in the request body under the 'email' field.
- **get_single_sendgrid_user_email_address_by_id** — Get the email address currently on file for your account in SendGrid. Returns the email field containing the user's email address.
- **get_single_sendgrid_user_username_by_id** — Get the current account username in SendGrid.
- **update_a_sendgrid_user_username_by_id** — Update the username for your account in SendGrid. Provide the new username in the request body under 'username'.
- **get_single_sendgrid_user_credit_by_id** — Get the current credit balance for your account in SendGrid. Returns the credits field indicating the base number of emails available before per-email charges apply.
- **update_a_sendgrid_user_password_by_id** — Update your password in SendGrid by providing old_password and new_password. Returns no content on success.
- **list_all_sendgrid_sso_certificates** — Get all IdP certificates for a specific integration in SendGrid using integration_id. Returns certificate details associated with the integration.
- **get_single_sendgrid_sso_certificate_by_id** — Get an individual SSO certificate by id in SendGrid. Returns certificate details including certificate data and metadata.
- **create_a_sendgrid_sso_certificate** — Create an SSO certificate in SendGrid with required public_certificate and integration_id. Returns the created certificate details including its enabled status.
- **update_a_sendgrid_sso_certificate_by_id** — Update an existing SSO certificate by id in SendGrid. The response includes the updated certificate details such as public_certificate, enabled status, and integration_id.
- **delete_a_sendgrid_sso_certificate_by_id** — Delete an SSO certificate by id in SendGrid.
- **list_all_sendgrid_sso_integrations** — Get all SSO integrations tied to your Twilio SendGrid account. Returns integration details and includes completed_integration field if siboolean is true.
- **get_single_sendgrid_sso_integration_by_id** — Get SSO integration by id in SendGrid. Returns integration details including id, name, and optionally completed_integration if siboolean is true.
- **create_a_sendgrid_sso_integration** — Create an SSO integration in SendGrid with required fields name, enabled, signin_url, signout_url, and entity_id. Returns the created integration details including completion status.
- **update_a_sendgrid_sso_integration_by_id** — Modify an existing SSO integration in SendGrid by id. Requires name, enabled, signin_url, signout_url, and entity_id. Optionally include siboolean to return completed_integration field.
- **delete_a_sendgrid_sso_integration_by_id** — Delete an IdP configuration by id in SendGrid.
- **create_a_sendgrid_sso_teammate** — Create an SSO Teammate in SendGrid with required email, first_name, and last_name. The email is the username and cannot be changed after creation. Returns the created Teammate details including email, first_name, last_name, and permissions.
- **update_a_sendgrid_sso_teammate_by_id** — Update an existing SSO Teammate by username in SendGrid. Requires username as id, first_name, and last_name. Optional admin status, persona, scopes, restricted subuser access, and subuser access details can be set. Returns updated teammate details.
- **list_all_sendgrid_blocks** — Get a list of blocked email addresses in SendGrid filtered by optional start_time, end_time, limit, offset, and email parameters. Returns email and created timestamp fields.
- **get_single_sendgrid_block_by_id** — Get information about a specific blocked email address in SendGrid. Requires the email address as id. Returns details about the blocked email.
- **delete_a_sendgrid_block_by_id** — Delete blocked email addresses in SendGrid by specifying emails or setting delete_all to true to remove all blocked emails.
- **sendgrid_blocks_specific** — Delete a specific email address from your blocks list in SendGrid. Requires the email address as id.
- **list_all_sendgrid_bounces** — Get a list of all bounces in SendGrid. Supports filtering by start_time and end_time (unix timestamps) and email prefix matching. Returns bounce details including email and created time.
- **get_single_sendgrid_bounce_by_id** — Get information about a specific bounce by email in SendGrid. Requires email as id.
- **delete_a_sendgrid_bounce_by_id** — Delete bounced emails in SendGrid. Use delete_all=true to remove all emails or specify emails array to delete selected emails. Both parameters cannot be used together.
- **sendgrid_bounces_bounced_email** — Remove an email address from the bounce list in SendGrid. Requires the email address as id.
- **sendgrid_bounces_classification** — Get total number of bounces by classification for each day in SendGrid. Returns date and stats with classification and count fields. Supports optional start_dates and end_dates parameters in YYYY-MM-DD format.
- **sendgrid_bounces_specific_classification** — Get the number of bounces for the classification specified in descending order for each day in SendGrid. Requires classification. Returns daily counts of bounces filtered by classification.
- **list_all_sendgrid_invalid_emails** — Get a list of invalid email addresses in SendGrid filtered by optional start_time and end_time. Returns invalid_emails array with details of each invalid email address.
- **get_single_sendgrid_invalid_email_by_id** — Get information about a specific invalid email address in SendGrid. Requires email as id. Returns details about the invalid email entry.
- **delete_a_sendgrid_invalid_email_by_id** — Delete invalid email addresses in SendGrid by specifying emails or setting delete_all to true to remove all invalid emails.
- **list_all_sendgrid_spam_reports** — Get a list of spam reports in SendGrid. Supports filtering by start_time, end_time, limit, offset, and email. Returns spam report records including email and created timestamp.
- **get_single_sendgrid_spam_report_by_id** — Get a specific spam report by email in SendGrid. Requires the email parameter as id. Returns details of the spam report associated with the email.
- **delete_a_sendgrid_spam_report_by_id** — Delete spam reports by specifying emails or setting delete_all to true in SendGrid. This removes suppression and allows emails to be sent again to those addresses.
- **sendgrid_spam_reports_specific** — Delete a specific spam report by email in SendGrid. Requires email. Deleting removes the suppression, allowing emails to be sent again to the previously suppressed address.
- **list_all_sendgrid_global_suppressions** — Get a paginated list of all globally suppressed email addresses in SendGrid. Supports filtering by start_time and end_time timestamps. Returns email addresses that are globally unsubscribed.
- **get_single_sendgrid_global_suppression_by_id** — Get global suppression for email in SendGrid. Returns the email if globally suppressed or an empty JSON object if not.
- **create_a_sendgrid_global_suppression** — Add one or more email addresses to the global suppressions group in SendGrid. Requires recipient_emails array. Returns confirmation of added emails.
- **delete_a_sendgrid_global_suppression_by_id** — Delete a global suppression for the email address in SendGrid to allow email delivery to the previously suppressed address.
- **list_all_sendgrid_suppressions** — Get a list of all suppressions in SendGrid. Returns suppression details including email addresses and suppression reasons.
- **list_all_sendgrid_transactional_templates** — Get all transactional templates with required page_size in SendGrid. Returns templates array with template id, name, generation, and versions.
- **get_single_sendgrid_transactional_template_by_id** — Get a single transactional template by id in SendGrid. Returns template details including id, name, generation, and versions.
- **create_a_sendgrid_transactional_template** — Create a transactional template in SendGrid with the required name. Returns the created template's id, name, generation, and updated_at fields.
- **update_a_sendgrid_transactional_template_by_id** — Edit the name of a transactional template in SendGrid. Requires template id and new name. Returns updated template details including id and name.
- **delete_a_sendgrid_transactional_template_by_id** — Delete a transactional template by id in SendGrid.
- **sendgrid_transactional_templates_duplicate** — Create a duplicate of a transactional template in SendGrid using template_id. Returns the duplicated template details including the new template's id and name.

## How it works

1. **Link your customer's SendGrid account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach SendGrid.** The Proxy API is a 1-to-1 mapping of the SendGrid API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Let customers send emails through their own SendGrid accounts** — SaaS platforms that trigger transactional or marketing emails on behalf of users can let each customer connect their own SendGrid account. This keeps sender reputation isolated per customer and avoids shared infrastructure risks.
- **Sync CRM contacts to SendGrid audiences automatically** — CRM and sales platforms can push dynamically updated contact segments into their customers' SendGrid lists, enabling targeted email campaigns without manual CSV exports or list management.
- **Surface email deliverability insights inside your product** — Instead of forcing users to switch to the SendGrid dashboard, SaaS apps can pull bounce, spam, and invalid email data directly into their own UI — helping users maintain list hygiene and protect sender reputation without leaving the platform.
- **Provision isolated email environments for each tenant** — Multi-tenant SaaS platforms can programmatically create SendGrid Subusers per customer, assign IP pools, and manage credit allocations — giving each tenant a sandboxed email infrastructure under one master account.
- **Map SaaS triggers to SendGrid transactional templates** — Workflow automation and notification platforms can fetch a customer's existing SendGrid templates and let them visually map in-app events (e.g., 'Order Shipped') to specific email templates, all without leaving the SaaS product.

## What you can build

- **Embedded bounce and suppression dashboard** — Pull bounces, spam reports, invalid emails, and global suppressions from a customer's SendGrid account to display actionable deliverability metrics directly in your app.
- **Two-way contact and list sync** — Automatically create, update, and remove contacts and lists in SendGrid as users or segments change in your platform, including custom field mapping.
- **Template picker for workflow builders** — Fetch all transactional templates from a connected SendGrid account so users can select and assign them to automated triggers inside your product's workflow editor.
- **Automated event webhook registration** — Programmatically create and manage SendGrid Event Webhooks so your platform ingests real-time delivery, open, click, and bounce events without requiring users to configure anything manually.
- **Self-service domain authentication flow** — Guide users through authenticated domain setup by creating, validating, and managing domain authentication records via SendGrid's API — all within your onboarding experience.
- **Tenant-level subuser provisioning with credit management** — Automatically spin up a SendGrid Subuser for each new customer, assign sending credits, and monitor remaining credits to enforce usage limits per tenant.

## FAQs

### What authentication method does the SendGrid integration use?

SendGrid uses API key-based authentication. End users provide their SendGrid API key, and Truto securely stores and manages it to authenticate all API calls on their behalf.

### Can I manage contacts and lists through this integration?

Yes. The integration supports creating, listing, searching, and deleting contacts, as well as creating and managing contact lists, custom fields, and contact-to-list associations.

### Does the integration support reading bounce and suppression data?

Yes. You can list and retrieve bounces, spam reports, invalid emails, blocks, and global suppressions. You can also delete individual records and add global suppressions programmatically.

### What Unified APIs are available for SendGrid?

SendGrid is mapped to Truto's Unified User Directory API for the Users resource, specifically through teammate management endpoints. This lets you read and manage SendGrid teammates using a standardized schema alongside other integrations.

### Can I programmatically manage SendGrid event webhooks?

Yes. The integration supports full CRUD operations on event webhooks — create, list, get, update, delete — as well as testing webhook endpoints and toggling signature verification.

### Does the integration handle pagination and rate limits automatically?

Truto handles pagination across all list endpoints automatically, so you receive complete result sets without managing cursors or offsets. Rate limit handling is built into the platform to avoid failed requests due to SendGrid's API throttling.
