Now that you have learnt how to create forms, or at least know “what” Interactive Forms are, it’s time to make those Forms Interactive.
Sure, the rules make it interactive, but it doesn’t bring it to life.
You need a bot to breathe life into is so that it may receive/provide inputs.
Remember, the Form is a medium through which the business user and the Bot can collaborate.
Your job is to ensure that medium works as expected, and that is exactly what we are going to explore today.
Create a Bot First
The bot isn’t going to create itself, now is it?
Let’s hope it doesn’t becomes intelligent enough to make copies of themselves.
Now that we have created our empty bot template, it’s time to add some color and magic to it!
First, lets go through the entire list of Actions we have at our disposable when dealing with Interactive Forms.
Forms Love to be Triggered
The approach to using Forms is slightly different from the automations you are used to developing.
Forms require a small setup for it to work as expected, starting with declaring a Form Variable.
After that, you have to give it an initial wakeup call to bring him out onto display.
But that is not all.
The Form is still half-asleep.
Unlike other Actions, you have to introduce your Form into a Trigger Loop for it to remain awake and to work on the inputs we provide.
Before form rules, everything on the form had to be handled inside the bot.
This was a serious headache, and I am about to show you just how much of a headache it was.
How Do I “Handle” Interactions?
By using the Handle Action.
Lets have a quick look at our Form.
Luckily, all we have is a Button here which means a single Handle will suffice.
You can add Handles for each and every element you see on the form like so:
Also, then way you “Handle” them varies upon the element you are trying to handle.
I rely mostly on the Clicked Trigger, since they make the automations much more intuitive for the end user.
What About the Labels?
You can edit them, but you can’t Handle them.
Also, there isn’t much of a point trying to handle labels, since it remains static throughout.
It only makes sense to use them when you want to notify the end user with either an error or warning, mostly during data validation.
A combination of Highlight -> Delay(4-5s) -> UnHighlight and a Set Focus might make sense to some.
And that is just a basic idea of what the approach would look like.
Now For The Actual Operations
Once the Form is introduced into a Trigger Loop, and once we have settled on which element we want to Handle, the next step is to actually handle that element.
This is performed using a combination of Interactive Form Actions and If Actions.
In our case, we don’t have to send anything to the Form, or at least not yet.
We have to validate whether the end user has selected the right option or not, and to do that we have to fetch whatever he has selected using the Interactive Forms: Get Action.
After that, we have to use a family of If-Elseif-Else to pass values back and forth between the forms.
If the end user selects the wrong option, that is handled in the ElseIf Actions.
What if he selects the right option?
Well, you have to congratulate him ofcourse!
But our Form is still high on adrenaline…What should be do?
Can we put it back to sleep with a Close Action?
Seems like that won’t be enough.
We have to find a way to break him out of this adrenaline infused loop…
Well, and that is pretty much it.
This is what the entire no-rule workflow looks like:
What About the Rule Infused Workflow?
Lets pay that bot a visit, now shall we?
Yep, that’s the entire workflow.
We just needed to break out of the loop once the right option was selected.
Do you see how easy things become for us when we leverage Rules instead of jamming everything into a single bot?
Well, that’s the benefit of using rules.
Forms are great to work with, once to get a hang of it.
Yeah, that’s the conclusion.
I’m not a marketing genius or anything which is why I was thrown off the presales team(The proof is in the LinkedIn profile pudding).
Well, I wasn’t exactly throw off the team – I threw myself out of the team.