To connect SendGrid to GoHighLevel: 1) Create a SendGrid account, verify your sending domain (DNS records), 2) Generate an API key with Mail Send permissions, 3) In GHL Settings → Email Services → add SMTP with host smtp.sendgrid.net, port 587, username 'apikey' (literally the word apikey), and password = your SendGrid API key. Critical note: SendGrid removed its permanent free tier in March 2025 — you need a paid plan.
GoHighLevel + SendGrid Setup: Complete Step-by-Step Guide (2026)
Prerequisites
- GoHighLevel account (see GHL SMTP setup overview)
- SendGrid account (Essentials plan or higher — free plan was removed March 2025)
- DNS access for your sending domain
Step 1: SendGrid Domain Authentication
- Log into SendGrid → Settings → Sender Authentication → Authenticate Your Domain
- Select your DNS host (Cloudflare, GoDaddy, etc.)
- Enter your sending domain
- SendGrid provides DNS records to add:
DNS Records to Add
| Type | Host | Value |
|---|---|---|
| CNAME | em####.yourdomain.com | u####.wl####.sendgrid.net |
| CNAME | s1._domainkey.yourdomain.com | s1.domainkey.u####.wl####.sendgrid.net |
| CNAME | s2._domainkey.yourdomain.com | s2.domainkey.u####.wl####.sendgrid.net |
SendGrid provides the exact records. Copy them precisely.
SPF
SendGrid's authentication CNAMEs handle SPF automatically. If you want belt-and-suspenders, you can also add their include:
v=spf1 include:sendgrid.net [your other includes] -all
DMARC (Add manually)
_dmarc.yourdomain.com TXT v=DMARC1; p=none; rua=mailto:[email protected]
- Click Verify in SendGrid dashboard. All records should show verified.
Step 2: Generate API Key
- SendGrid → Settings → API Keys → Create API Key
- Name:
GoHighLevel SMTP(or similar) - Permissions: Restricted Access → enable Mail Send → Full Access
- Click Create & View
- Copy the API key immediately — SendGrid only shows it once
Step 3: Connect to GoHighLevel
- GoHighLevel → Settings → Email Services
- Click Add SMTP or Connect Custom SMTP
- Enter:
| Field | Value |
|---|---|
| Host | smtp.sendgrid.net |
| Port | 587 |
| Username | apikey |
| Password | Your SendGrid API key |
| Encryption | STARTTLS |
Important: The username is literally the word apikey — not your email address, not your account name. This trips up most people.
- Test the connection
- Send a test email to verify delivery
Step 4: Verify
Send a test email from GoHighLevel to Gmail. Check message headers for:
spf=passdkim=passdmarc=pass
If DKIM shows the onmicrosoft.com domain or sendgrid.net instead of your domain, the domain authentication in Step 1 isn't configured correctly.
SendGrid-Specific Considerations for GHL
API key scope matters. If you create a Full Access API key, anyone with access to your GHL SMTP settings has full access to your entire SendGrid account. Use Restricted Access with only Mail Send permission.
Log retention. SendGrid Essentials only retains activity logs for 3 days. Pro retains for 7 days. If you need to debug deliverability issues, check within that window or upgrade to Pro.
Subuser management (Pro only). If you manage multiple GHL sub-accounts, SendGrid Pro's subuser feature lets you create separate sending identities per client. This provides reputation isolation between clients.
Practitioner note: The most common SendGrid + GHL problem: the API key expires or is accidentally deleted. SendGrid doesn't notify you — GHL just silently stops sending. If your GHL email suddenly stops working, check your API key status in SendGrid first.
Practitioner note: For agencies: if you're choosing between Mailgun and SendGrid for GHL, I recommend Mailgun. The SMTP credential setup is more straightforward, per-domain credential management is more flexible, and it's the same infrastructure that powers GHL's LC Email (so it's more battle-tested). SendGrid works, but Mailgun has fewer GHL-specific gotchas.
If you need SendGrid + GoHighLevel configured with proper authentication and monitoring, schedule a consultation.
Sources
- SendGrid: SMTP API Quickstart
- SendGrid: Domain Authentication
v1.0 · March 2026
Frequently Asked Questions
What SendGrid plan do I need for GoHighLevel?
Essentials ($19.95/month for 50K emails) is the minimum. Pro ($89.95/month) adds dedicated IP, deliverability insights, and subuser management. If you're sending under 50K/month and don't need a dedicated IP, Essentials works. SendGrid removed its free plan in March 2025.
Why does SendGrid use 'apikey' as the username?
SendGrid's SMTP authentication uses the literal string 'apikey' as the username and your actual API key as the password. This is not your account email — it's specifically the word 'apikey'. Many people get this wrong.
Should I use Mailgun or SendGrid with GoHighLevel?
Mailgun is more common and better tested with GHL. SendGrid has better marketing features if you also use it directly. For pure SMTP relay to GHL, Mailgun's integration is simpler. For SendGrid: make sure to use the API key authentication method correctly.
Can I use SendGrid's free plan with GoHighLevel?
SendGrid eliminated its permanent free plan in March 2025, replacing it with a 60-day trial of 100 emails/day. After the trial, you need a paid Essentials plan at minimum. If budget is a concern, Mailgun or self-hosted SMTP may be more cost-effective.
Why are my SendGrid emails through GoHighLevel bouncing?
Common causes: API key doesn't have Mail Send permission (regenerate with correct scope), sending domain not verified in SendGrid (check DNS records), or SendGrid account is still in the review/approval period for new accounts.
Want this handled for you?
Free 30-minute strategy call. Walk away with a plan either way.