Saving attachments coming from SendGrid Inbound parse email

Hey Bubblers!
I have set up an inbound parse webhook using SendGrid.
Emails are coming perfectly with all the data attached to them BUT there is a problem saving the attachments of the email to bubble’s database.
If anybody can help it would be amazing.
@emmanuel @chad @den.ivanets @eren @GH5T @ZeroqodeTeam @nocodelab

What are you trying, are you getting a url back from the api call?

@chad
I’m getting raw email data from the inbound email which looks like this


The Raw data looks something like this

but I’m unable to extract the attachment from the raw data and save it to the database

@chad @Andrew.Vernon @Bubbleboy @david.svitak @emmanuelrotich @flowtron @gerbertdelangen @hafizaliimrankhan @ikenna.nicolas

Sorry man I’m not sure

Might need to migrate to postmark

Bubble’s API Workflow does not support multipart/form-data.
Therefore, I think that attachment data is not being received.

It would be better to use iPaaS such as Zapier or Make instead of API Workflow.

Please refer to this page.

1 Like

Tried everything and spent countless hours on that… Find something else. My solution was to use pipedream (10,000 free requests per month), it’ll give you a direct link to download the attachments.

Having said that, Bubble did contact me at some point asking me for pointers on how having this feature built directly into bubble could help users. Maybe it’s coming!

2 Likes

Another option would be N8N.io, comparable to Make and Zapier.

2 Likes

@Future can you help me figure out how did you do that using pipedream?

Here you go, (for anyone who would need it)

  1. Setup your pipedream account
  2. Add a Trigger : Incoming email (it’ll give you an email address to send all your emails)
  3. (Optional) : Setup a forwarder to that email address.
    – Example : We are using Google Workspace (sometimes Office 365). I registered a subdomain to receive emails… Ex. our domain is domain.com, i added MX settings for example : bubble.domain.com
    – Any email sent to any address @bubble.domain.com will go to pipedream.
  4. Back to pipedream : Setup a webhook action to your backend workflow initialize address
  5. Once the init is done, remove /initialize from the URL

Nice thing with the optional step is that pipedream will include in the payload to which address the email was sent (with all details, attachments, etc.) soooo… You can set your app to receive emails from any address and attach these emails to different users/clients/etc…

2 Likes

Wow, amazing you fixed my big problem.

1 Like