I have been doing some research, however, I cannot find any detail explanation about buttons for Slackbot. I can only find guidelines on “domain.yml” file but no further information.
I’m wondering if anyone has more specific documentation? I’m super new to both rasa and Python programming language
adding buttons in domain file will trigger one event(or a payload). If you don’t know what is event or what is payload then consider it as something is fired when that particular condition occures. So when you fire a payload when any particular action is called.
If these things sound so new don’t worry, just understand that, when you deploy your bot with your own website(or on chat widget), the basic architecture is that you’ll have a backend server (rasa server) APIs and your frontend widget will call that APIs. One calling the API for the button case frontend will get a payload response. So At the frontend, you have to write CSS for the button.
Coming to slack, you can’t write the CSS of the button in slack. But Slack allows some events
you can fire when your button action is called. You can find list of all the slack components here: Reference: block elements & interactive components | Slack
First of all, thank you so much for your answer. I understand the concept of payload, however I don’t know where can I add this CSS for the button.
I searched on Slack API documentation and they provided some template for button, for example:
{ "type": "button", "text": { "type": "plain_text", "text": "Click Me" }, "value": "click_me_123", "action_id": "button" }
Should I make a .json file inside the directory where the other configuration files are already in? If so, how can I connect it?
Oh got it.
you don’t need to write css of the button, It’s already written there. You just need to fire the event to access the button. To do so you have to add payload in domain file.
I got it now!! But we also need to configure the events (or in this case, payloads), right?
For example if I want to ask users to rate the performance of the bot, then I will have 2 buttons “Helpful” or “Not helpful”, or I want them to click on the button to narrow down a topic of their questions.
Will I continue to further configure these in domain yaml file? If so, can you please show me where can I find documentation?
Thank you for being so patient and guide me through this!
As of now I can suggest one think that you can create two intents positive_feedback and negative_feedback and you can give the respected custom actions of these intents in the payload. for ex: