Creating Adalo Custom Actions with Integromat Webhooks (2021) - Low Code Superpowers
DISCLAIMER: While this content has been left online for learning purposes, Ops machine specifically recommends NOT using Adalo, ad it's been shown to be frighteningly insecure, incomplete, and generally near impossible to deliver with, in the time that we used it.
Further, the Pragmaflow component library is no longer maintained after having been broken repeatedly by adalo platform updates.
This tutorial shows you how to create custom actions in Adalo and then use Integromat to connect to other platforms.
Sites I mention:
- https://www.integromat.com/?pc=pragma...
(This is our integromat partner link, it helps us if you use it!)
To make it real, I've used the example scenario of setting up a custom password reset.In this video, I'm using a modification of Victor Kuzmichev 's custom password reset (tutorial here: https://forum.adalo.com/t/adalo-tutor...)
if you want to chat about your project or ask us questions we're friendly, reach out to us 👉🏽 pragmaflow.com/contact
Transcript
Hey guys, Mitch here from the Pragma flow team thought I would do a quick video tutorial on how to leverage custom actions and then play with Integra a little bit and really break out of the Addo box and go one step further to really be able to build whatever it is you need to integrate with other apps and really to just take on a whole new set of superpowers.
It's not too too complicated. And so I think this will, this will be a really useful one. Today, I am going to show you how to build a custom action that will let you do a custom password reset. Now, this is the custom password reset itself was already built by Victor and he did a really cool job with it.
I'll link to his video. How to actually build that piece. And, you know, let me share my whole screen with you before , before I make a video that is not quite complete. So here we are, we have the kind of setup that if you've seen Victor's video, you'll be familiar with and just really quickly, the way it works is the user types in their email.
Here. This button is inside of a. That list is looking for basically filtering for a user whose email is the same as the one typed in there. So that's gonna return one result. And yeah, basically the button itself is going to be, you know, able to link and pull data from that user. When we do this update action over here, we're creating for the user, a random OTP code.
And so that's kind of the essence of how this works. now what we need here is a custom action. And so we go and we can create a new custom action and we'll call this a download demo password reset. And so we're going to click create over here. And now it's gonna ask us for a URL. Now I've already created one of these doing a little bit of.
But you know what for fun, why don't we just start over from scrap? All right. So I've clicked on new scenario and I'll just start typing in web hooks. And here is my web hooks module. Now the web hooks module is basically gonna listen for any request that we send to it. And so it's a really great starting point and it allows us to connect with AALA.
The other module I'm going to add will be probably Gmail, cuz that'll make it nice and easy. So let's start with the custom web hook. And so when we do that, you can create a new one and give it a meaningful name is a really good. So here we'll call this a download demo, password reset webhook, and the reason we want to give it a meaningful name is because it's easy to get lost.
If you have 5, 6, 7, 8 of these, it can be really easy to kind of lose track of what's what? And then you start losing time for nothing. So when you get to this screen, you'll see this URL over here, which I can copy to the clip. you also see this little stop button because Integra is listening. It is really good at figuring out the data structure you're gonna send it, but because we're sending a custom action, we can really send all sorts of things.
And let me show you what that looks like in the Al side. So this is the base URL that I took from from integr Matt's web book. We're going to send a post because we're sending new inform. And then what we're gonna need is some inputs. Now, in this case, there's two ingredients. We have email, which is gonna be text.
And an example of that would be something like email, email.com. You can make your own, have some fun with it. If you'd like, the other thing we're gonna do is send the OTP password. The one time password that's gonna be used for reset. And an example value since it's a six digit is something like 1, 2, 3, 4, 5, 6.
So that works and we've added these inputs, but now we actually need to send those inputs as part of the request. And so we're gonna add a query parameter. And so the first one will be email. I like to use the same name for both. You don't necessarily have to, but I find it's a bit easier to do. We'll use magic text to plug in the email input that I've created right here.
And then we'll do the exact same query parameter. And this one will be OTP pass word. And again, we'll use magic text, plug it in. We're going to run our test request and it was successful. So awesome. We can save our custom action. If we take a look at Integra, we're gonna see successfully determined. And if you want to know what it sent, let's try and retrieve it.
Using another module. So I'm going to use Gmail and we're going to send an email. Now I already have a connection in here, but it's pretty easy to add one. The first field is two, so we're gonna add a recipient and that recipient is going to be whoever we put into the email input and yeah. Subject. So a really good practice is to include the.
In the subject, it makes it a lot easier for your user, especially if they're on the phone. It's much more visible. So password reset code here, I'm not gonna do the most amazing version of this. Just kind of do a quick here's your code. Maybe, maybe we would fluff that a little more. But there it is.
So we plug in the email, we plug in the password. And that's it. We're good to go. Now, if you try to do the Gmail component before you have gotten the webhook structure, then you're not gonna see those variables for email and for one time password, because a download doesn't yet know what data it's gonna receive.
If you decide that you want to add a parameter, like let's say we added name because we wanted to address the person by name, then we would just click redetermined data. S. And send a new test request and it would update. So it's really nifty and kind of well done like that before we go any further.
There's one really important step. And that is from this custom action. When you click on the button over here, we need to actually tell it what value to plug in for email. now because this button is in a list and this list is filtering for the email address in here, instead of doing logged in user, because someone who forgot their password is probably not logged in.
We want to do current user. And so we're gonna do current user email. We're gonna do current user password reset OTP, and we are good. So now if I do a demo and by the way, one really good testing practice is, you know, I've set this page as my homepage right now, just so that when I hit preview, we go right there and I don't have to click through maybe two or three other screens to get there.
So here we go. My email's already typed in from my last run. So I'm gonna send the verification code before I do that. It's important to. And you can either turn on if you're ready to run this permanently, or you can just run once. And I like to run once because we kind of get the spinning thing. It shows us it's waiting.
It's really nice for testing. When I send my verification code, I get to actually see an action. We can double check email Mitch Pragma flow.com OTP password. There it is. So we know that this was well populated. We can see again, here's who it's sent it to. Here's your code? So everything kind of went as expected.
And then the last step is gonna be just to check my email and see if the email did arrive as expected and it has so we're in luck. So that is how you create a custom action. And that is how you use Integra to do some really basic automations. Now, one other cool thing that I will talk about in integr.
You can directly use the, a Diallo module to make changes to your Diallo library. And this is a really awesome feature. So these are all the basic API functions that you can do with a Dialo. If you were writing them in a more custom way, you can get a list of all the records. You can get a specific record though.
You need the ID and in order to get the, I. You actually have to get the list of records first to my knowledge, hopefully that changes soon. It's not the best way to go about things. You can add a record, you can update a record again, you need the ID, you can delete a record or you can make an API call a little bit more generalized.
And I mean, basically the functions listed are the functions that are available. But if you do like to go more custom, you have that. So that is how you use custom actions in ADAO, alongside web hooks. Inma to do all sorts of crazy things. I hope you've enjoyed this. So like, and subscribe. I think you're supposed to say that that's what all the YouTube people do and yeah.
Send comments. If you have questions, if you want to know anything, just reach out to us and if you need help getting your add projects. Then just reach out Mitch Pragma flow.com or info Pragma flow.com check out our website, whatever it is, let us know how we can help you. Our entire mission is just about helping entrepreneurs and other creatives and developers hit their project goals, hit their career goals, and really enjoy the process of what they're doing.
Thanks for tuning in .