Currently, SendGrid integration with your personal domain linked to your Bubble app assumes you have an “admin@yourwebsite.com” address. If you try to verify SendGrid through Bubble, you will get an error saying no admin@yourdomain email was found. If you go to SendGrid and try to add an admin@yourdomain.com email, you will fail - because SendGrid will send an email confirmation to the admin@yourdomain.com email, which you cannot receive, and thus, cannot hit the confirm link. But there’s a workaround. You do not need to buy or sign up for an admin@yourdomain.com email.
Instead, you can authenticate using another way: by authenticating ownership of yourdomain.com
Go to SendGrid, and select domain authentication instead of single user authentication. It will give you three CNAME entries to add to your DNS records. You will do this with your website host (GoDaddy, NameCheap, etc).
If it is with GoDaddy, do not include your domain name portion in the CNAME (even though SendGrid will tell you to do so). In other words, if SendGrid tells you to enter s1.xyxzyzyz.yourdomain.com, only enter the s1.xyxyxyxyx part in your DNS records.
You will have to wait for some time so that the DNS record propagates.
Then go back to SendGrid and hit verify. SendGrid will now say that your entire domain is authenticated.
Because the entire domain is now authenticated, you can now enter admin@yourdomain.com in the Single sender entry on SendGrid. You will not actually need to have an admin@ email, and SendGrid now will not require any email confirmation - because your domain has been authenticated. So SendGrid will merrily accept admin@yourdomain.com (even though you do not actually have that email).
Copy the API key from SendGrid.
Now go back to Bubble, domain/email settings, and enter the SendGrid API. Voila!
DNS authent is the way to go. And I also can vouch for the importance of #2 ha. Took me 2 days to figure that out, it may be the case on more than just GoDaddy.
Thank you so much for the GoDaddy tip about removing your domain name. I spent nearly two weeks back & forth between GoDaddy pointing the finger at sendgrid and vice versa. Telling me to wait 48 hours for things to propagate etc etc.
3 minutes after reading your post & I’m finally done. Verified in Sendgrid + sending emails from Bubble!
I was able to get verified on Sendgrid, but emails are still not sending from bubble. Is there anywhere else I should be inputting the API key aside from the “domain/email” tab? Should it be placed in the SendGrid plugin and the Bubble API plugin as well?
If you want to use the embedded native email through SendGrid, you do not need to add the keys anywhere else. What message are you getting when you send the email? What workflow action are you using to send the email? What is the domain name of the recipient email (if yahoo.com, live.com, outlook.com, hotmail.com, it likely won’t get thru if you use SendGrid).
I’ve tried to change the workflow to the regular bubble workflow “Send email” but it still will not send emails. Do I need to delete everything related to SendGrid in order for the “bubble built in email workflow” to work?
You are a lifesaver! This was so frustrating! Thank you!
I am going to email Sendgrid and tell them to remove the domain portion in the CNAME in their instructions. Clearly this is wasting a lot of people’s time.
Hi gang, Ive gotten past the above issue but send grid still has an error message re the Names I entered. I used the above method of not including my domain name. You enter the names from the host column not the points to column also, I assume. Any ideas?