I'm working on a bot using the Microsoft Bot Framework. I'm trying to get it up and running on Slack, and got blocked by an issue regarding interactive buttons. In a waterfall dialog flow, I'm creating a choice prompt like below
private async Task<DialogTurnResult> IdentifyUserTypeAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
var message = "Please select what kind of user you are"
userTypes = await userTypeRepository.GetAllUserTypesAsync();
var options = new PromptOptions
{
Prompt = MessageFactory.Text(message),
Choices = ChoiceFactory.ToChoices(userTypes.Select(x => x.UserType.ToString()).ToList()),
Style = ListStyle.HeroCard,
};
await state.ConversationState.SaveChangesAsync(stepContext.Context);
return await stepContext.PromptAsync(UserTypeDialogId, options);
}
On the Slack app, the buttons renders correctly, like in the image below.
However, when I click the buttons, nothing happens. I see the request on my local slack client actually calls my slack app, and returns with a 200.
I have followed this tutorial on setting up the Slack app using ABS: https://learn.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-slack?view=azure-bot-service-4.0&tabs=abs
On the slack app I have the following configurations
Redirect URL:
Scopes:
Events are enabled, and I have added the request URL. The black part is my bot handle, taken from ABS
I have subscribed the following Bot events
The bot is configured to be always online:
And lastly, I have enabled interactivity, and added the request URL, which seemed to be validated correctly by the Slack app.
Am I missing something? I have tried to start over multiple times, but I end up in the same situation, where the button doesn't seem to fire anything on my bot code. There's simply no incomming request to the Bot's webserver.