SendGrid lifecycle email automation with GetFluxly

A native SendGrid connector is on the GetFluxly roadmap and is not live yet. You can still use SendGrid with GetFluxly today by connecting it as a Custom SMTP relay. This guide shows you how.

Send behavior-triggered lifecycle email through SendGrid, one of the most widely used email delivery platforms available. GetFluxly captures product events, builds unified customer profiles, and fires automations on the rules you define. SendGrid handles delivery from the authenticated domain you control. Your sender reputation and IP warmth stay in your SendGrid account.

What you ship after this guide. A SendGrid authenticated domain with SPF, DKIM, and DMARC, a Mail Send scoped API key, and a working test send through the Custom SMTP connector.

When to use SendGrid

SendGrid is a strong default if your team is already on the Twilio ecosystem, if you need a well-documented v3 API with broad library support, or if you anticipate eventually adding a dedicated IP as volume scales. The platform handles high volume well and has first-class tooling for deliverability monitoring.

If you want the simplest possible developer setup and are starting from zero, see the Resend guide. If you are already inside AWS and want to minimise per-message cost, see the Amazon SES guide.

Requirements before connecting

A SendGrid account on any plan, a domain you can publish DNS records on, and an API key scoped to Mail Send. On the GetFluxly side: a project, a server token (gflux_secret_live_...), and access to Settings → Email providers.

Authenticate your sending domain

In the SendGrid console, open Settings → Sender Authentication → Domain Authentication and enter the apex domain you want to send from (for example yourdomain.com). Leave Use automated security on (the default). SendGrid generates three CNAME records: one that handles both SPF and DKIM by pointing at a SendGrid managed host, and two for link branding.

Publish all three CNAME records at your DNS provider exactly as SendGrid displays them. Do not include your root domain in the host value if your DNS provider appends it automatically. Once the records propagate, click Verify in SendGrid. The domain status flips to Verified when all three records resolve correctly.

SPF, DKIM, and DMARC

With automated security on, SendGrid manages SPF and DKIM via the CNAME records you published above. You do not add separate SPF or DKIM TXT records on your apex. The one thing SendGrid does not manage for you is DMARC, that is yours to publish.

DMARC

Start with p=none while you verify that legitimate mail passes SPF and DKIM alignment, then tighten to quarantine and eventually reject.

Type:   TXT
Host:   _dmarc.yourdomain.com
Value:  v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; fo=1
No separate SPF or DKIM TXT records needed. With automated security, the three SendGrid CNAME records handle SPF and DKIM. Only the DMARC TXT record above lives on your apex. Adding a separate SPF TXT record alongside the CNAME can cause conflicts.

Create a Mail Send API key

In SendGrid, open Settings → API Keys → Create API Key. Choose Restricted Access and enable only the Mail Send permission. Give the key a name that identifies the environment, for example getfluxly-production. Copy the key immediately, SendGrid shows the full key only once.

Use a per-environment key. Create separate keys for dev, staging, and production. GetFluxly stores one key per email-provider record, so revoking one key in SendGrid takes down exactly one environment in GetFluxly without touching the others.

Connect SendGrid through Custom SMTP in GetFluxly

Because a native SendGrid connector is not yet live, connect SendGrid through the Custom SMTP connector. In GetFluxly, open Settings → Email providers, click Add provider, choose Custom SMTP, and enter the following SendGrid SMTP settings:

FieldValue for SendGridNotes
smtp_hostsmtp.sendgrid.netSendGrid's SMTP relay host.
smtp_port587Use 587 with STARTTLS.
usernameapikeyThe literal string apikey. This is not a variable, SendGrid requires exactly this as the username for SMTP authentication.
passwordSG.…Your Mail Send scoped API key. Encrypted with AES-GCM before storage.
from_emailhello@yourdomain.comMust be on a SendGrid authenticated domain.
from_nameAcmeOptional. Wraps the from address.

Or call the API directly:

curl -X POST https://api.getfluxly.com/v1/projects/PROJECT_ID/email-providers \
  -H "Authorization: Bearer gflux_secret_live_REPLACE_ME" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "smtp",
    "display_name": "SendGrid Production",
    "from_email": "hello@yourdomain.com",
    "from_name": "Acme",
    "smtp_host": "smtp.sendgrid.net",
    "smtp_port": 587,
    "smtp_secure": "starttls",
    "username": "apikey",
    "password": "SG.YOUR_API_KEY"
  }'

Bounces and complaints while on Custom SMTP

When you send through the Custom SMTP connector, bounce and spam complaint feedback comes from SendGrid directly, not from GetFluxly. Manage suppressions in the SendGrid dashboard → Suppressions. SendGrid automatically suppresses hard bounces and spam complaints on future sends through your account.

Automatic bounce and complaint sync into GetFluxly profiles and suppression lists, so that future segments naturally exclude affected contacts, arrives with the native SendGrid connector when it ships. Until then, treat SendGrid as the authoritative suppression store for this send path.

Test your first lifecycle email

The verify endpoint dispatches a one-shot message through your SendGrid connection. Use it to confirm the wiring is good before pointing an automation at the provider.

curl -X POST https://api.getfluxly.com/v1/email-providers/PROVIDER_ID/test \
  -H "Authorization: Bearer gflux_secret_live_REPLACE_ME" \
  -H "Content-Type: application/json" \
  -d '{ "to": "you@yourdomain.com" }'

For an end-to-end behavior-triggered test, create a one-step automation in GetFluxly: when user fires signed_up → send the welcome email through SendGrid, then fire the event from your staging app. The send appears in the GetFluxly send log and in the SendGrid Activity Feed within seconds.

Common errors

535 Authentication failed. The SMTP credentials are wrong. Confirm the username is the literal string apikey (not your account email) and the password is a valid Mail Send scoped API key. Mint a fresh key in SendGrid if needed and update the GetFluxly Custom SMTP record.

SendGrid rejects the from address. The address in from_email is not on a SendGrid authenticated domain. Check the domain status in Sender Authentication and confirm all three CNAME records are verified.

Mail landing in spam despite CNAME records verified. Almost always missing DMARC. Confirm the _dmarc.yourdomain.com TXT record is published and that DMARC alignment is passing by checking a DMARC report or a tool like MXToolbox. Also ramp send volume gradually over the first two weeks on any new sending domain.

Connection refused or timeout. Confirm the host is exactly smtp.sendgrid.net and the port is 587 with STARTTLS. Some hosting platforms block outbound port 587 by default; contact your host if that applies.

FAQ

Does GetFluxly charge extra to send through SendGrid?

No. GetFluxly does not bill per email. SendGrid pricing applies as if you were sending directly. GetFluxly handles segmentation, automation, profiles, and tracking on top of the SendGrid send path at no per-message markup.

Why does SendGrid domain authentication use CNAME records instead of TXT records?

When automated security is on (the default), SendGrid manages your SPF and DKIM records on your behalf by having you point CNAME records at SendGrid-controlled hosts. This lets SendGrid rotate DKIM keys and update your SPF record automatically when you add a dedicated IP, without requiring you to edit DNS each time. The trade-off is that your SPF and DKIM live on a SendGrid subdomain rather than directly on your domain. Both approaches are valid; CNAME based authentication is the recommended default for most teams.

Is there a native SendGrid connector in GetFluxly yet?

Not yet. A native SendGrid connector is on the GetFluxly roadmap. Today you connect SendGrid through the Custom SMTP connector using host smtp.sendgrid.net, port 587 with STARTTLS, the literal username apikey, and your SendGrid API key as the password. When the native connector ships, you migrate the provider record in place and your automations continue without rewiring.

Should I add a dedicated IP for lifecycle email?

Only if you send consistently above roughly 10,000 emails per day. Below that volume, a dedicated IP can actually hurt deliverability because there is not enough send volume to build a strong reputation on the IP. On shared IPs, SendGrid pools your sending with other reputable senders. Request a dedicated IP and a warm-up plan from SendGrid when your volume justifies it.

How does GetFluxly handle SendGrid bounces and spam reports?

While sending through the Custom SMTP path, manage suppressions and bounce handling directly in the SendGrid dashboard. Automatic bounce and complaint sync into GetFluxly profiles and suppression lists arrives with the native SendGrid connector when it ships.

Can I use a single SendGrid account across multiple GetFluxly projects?

Yes. Create one API key per environment (dev, staging, production) with only Mail Send access, and one GetFluxly email-provider record per key. Revoking a key in SendGrid takes down exactly one environment in GetFluxly without affecting the others.

Also on GetFluxly integrations: Postmark, Brevo, Resend, and Amazon SES.

Learn more: Email deliverability for SaaS, lifecycle email automation for SaaS, and GetFluxly pricing.