Hi everyone, I apologize if my question is a bit trivial but I’m new to webhooks and API calls.
For a few weeks now I’m trying to get the value of a document in Firestore database and display it in Bubble user profile but I think my
approach is wrong. I already have a scenario to create collections and data in firestore from bubble so I know my connection is working.
So I have setup a webhook in Integromat and Get API call in Bubble and I have a datatype named “History” and a field named “Temp”.
I have set the rules so everyone can create, delete or modify via API for now.
In my Firestore database I have a collection named “outpuDevices”, a document named “Temperature” and a field “Temp” in it.
This is my Integromat scenario. First the webhook with the query for “Temp”.
Next I extract the value of the field “Temp” from Firestore, I can see it in the output.
Then I try to create/update a thing in bubble with the firstore output, but I always get a 401 bubble error and nothing in the output.
If someone used to webhooks and api could enlighten me, it would be much appreciated
Webhooks go to your backend workflows. Create a backend workflow and then add the url for it to integromat wherever you set up “My Bubble connection”. Notice when creating a backend workflow you can click to detect request data. Click that and it will popup the url to copy and paste, then in integromat activate the webhook. Then you should notice the detecting is complete and you can map all the outputted fields. Here, in the backend workflows, is where you can use the data with your database.
Note: When detecting data the url includes the path “initialize”. After your first successful connection you need to remove that from the url given to integromat. Also the “version-test” should be removed before updating your live version of your app.
Hi @williamtisdale, thanks for taking the time. I understand I can use a backend workflow but their more complicate and only available on a paid plan.
All I need is a Get API call from api connector to fetch data in integromat, I should be able to do that without backend API right ?
All I need is a Get API call from api connector to fetch data in integromat, I should be able to do that without backend API right ?
Yes you can but it will not involve the API connector
Create a new thing
To create a thing, send a POST request to the /typename endpoint for the type of thing you want to create. The body of the request should be a JSON object to use as the new thing. The keys should match the names of the keys returned via a GET request for that type of thing, and the values should be in the format described in the Sending Data section. Bubble will automatically add built-in fields such as ‘Created Date’, as well as any default values defined for fields that were not explicitly initialized. When creating a new user, there are two special fields, ‘email’ and ‘password’, that initialize the user’s log in information. ‘email’ is a required field; ‘password’ is optional. POST https://appname.bubbleapps.io/api/1.1/obj/typename { "key1": value, "key2": value }
Using this endpoint requires the ‘Create via API’ permission. The privacy rule will be checked on the new data for the thing, and the creation attempt will be rejected if Bubble does not find a matching privacy rule that allows the creation to happen. If the creation is successful, Bubble will respond with a 201 status code, and a body consisting of a JSON object with a ‘status’ field set to ‘success’ and a ‘id’ field set to the unique id of the newly created object.
https://manual.bubble.io/core-resources/api/data-api#create-a-new-thing
This is from the bubble docs. You need to give your api endpoint to Integromat. You can find yours Under Settings > API > Data API Root URL
Notice the part where the keys given to the post request should match the keys shown from a get request to the same endpoint. For example if you have a field on user called “name” and it is a type “text”. Then the key for POST https://example.com/api/1.1/obj/user would look like this
{
"name_text": "value"
}
Thanks again @williamtisdale , i’ll try your solution as soon as I can. Right now I can’t create a connection with bubble from integromat, I get a 401 error everytime. I reached out to them and I’m waiting an answer.