Sendgrid Inbound Parse Not Connecting to Bubble

Hello all,

I’m having an issue with Sendgrid inbound parse. I’m trying to make a user-to-user email service that anonymizes both users. Basically I’m routing the emails through Sendgrid, posting them to the Bubble API, then using a backend workflow to relay the email to the intended recipient anonymously.

I started out by following this post here: How I setup Sendgrid Inbound Parse

It got me to the point where I need to use the “Detect Data” function of API endpoint setup, but when I clicked it it wouldn’t actually detect anything. To fix this I did what JP29 recommends here: SendGrid Inbound Parse (i.e. I used the format from the “detect data” call for the Sendgrid webhook URL, with the extra “/initialize” at the end) and that actually worked. I was able to detect data and I was able to see any emails I sent while actively trying to detect data show up in the Sendgrid stats.

However, outside of actively running the detect data function, I can’t get the Sendgrid webhook to actually post to the API. I’ve tried removing the “/initialize” from the end, I’ve tried remaking the endpoint, I’ve tried running it with and without “/version-test/” and nothing seems to work. What’s more, in the Sendgrid stats page, it shows the webhook catching all the emails that come through during the “detect data” call, but nothing else I send shows up there.

How is it possible that Sendgrid and Bubble can communicate with each other when I’m trying to detect data, but anything I send when not detecting doesn’t even show up in Sendgrid stats, let alone reach the Bubble API?

Any help would be immensely appreciated. Please let me know if you need more detail about the issue.

Hey @austinhughes703, did you figure this out? If not, I’d be happy to take a look if you can share screenshots of your workflow!

Thanks for the reply @JP29 !

This is a screenshot of the backend workflow for the “inmail” endpoint:

One thing I should note is that I changed the name of the app a while ago and I’m worried that the app is still trying to use the old API address. When I click “Detect Data” in the setup for the “inmail” endpoint the API address that pops up is from the old name “a-frame-surf” (see below), whereas my API address in my settings is referencing the new name “fisheyesurf” (see below). I’m starting to think maybe the name change is causing the app to be looking in the wrong place.

When I put the a-frame-surf link (i.e. https://a-frame-surf-v2.bubbleapps.io/version-test/api/1.1/wf/inmail/initialize ) into sendgrid, the webhook will catch an email I send as long as the “Detecting Request Data” window is active, and the app will detect the email data as intended. However, the webhook will not catch any other emails. When I use the fisheyesurf API address, the sendgrid webhook doesn’t catch any emails, including when I am detecting data.

See below for a screenshot of my sendgrid inbound parse setup.

Let me know if this is helpful or if there’s anything else I can send.

Under Domain/Email in your settings, do you have the “Redirect all requests to the domain” (in the Email settings section) checked as well?

I am facing the same issue. Thanks @JP29 for sharing the resolution

In my case, it detects the data but it is not taking any steps. I see “modify types” button and it shows the recent data returned by the call. However, When I create any steps, it is not doing anything.
For example:
Step 1: I am trying to create a new message but nothing is happening.

Update: Figured out the solution:
To detect data first: I used the URL with /initialize


Once I received the data and modified the fields.
I had to create a host without /initialize in Sendgrid. For this, I created another Host in sendgrid Inbound Parse Webhook since I couldn’t update the link only.

followed these steps and still no luck :confused:

Messages don’t even end up in my inbox, let alone being parsed by this webhook.

Like you said, it only works on the ‘detect data’. Any suggestions?

@akarim1 @JP29 @austinhughes703 ?

Hey\1 Did you get sorted? Stuck on the same point.