Hi, thank you for this tutorial. I have managed to follow each steps successfully except for the CARD-UPDATE-IN-BODY. The run in Power Automate shows that it is successfully executed but on outlook the actionable message is not refreshed and it gives me error "Something went wrong. Please try again later". I'm using version 1.0. Any ideas?
Hi, i have a question here...is there a way to track who actually responded to the actionable message on Outlook? Or make only a specific person can react to the card?
Hi, Yes follow this step in the video: ua-cam.com/video/DCihYRK8w9Q/v-deo.htmlsi=V_pVZrwYvhmjJO5k&t=1667 I showed how to get the user who responded to the actionable message.
Thanks a lot for the video. approve/reject buttons on actionable message is working in the logic app with consumption plan but it is failing with standard tier plan. It says "Target URL is not allowed" when click on approve/reject. Please let me know if you know the reason.
Thanks for the video, but how come you can use adaptive card version 1.3 for outlook actionable messages? As far as I know, actionable messages only support adaptive cards v 1.0
Hi Giuliano, Message works perfectly for me, but i have an a problem with other users. I've created test user group for this with 3 of my colleagues and as a sender, I've added our Admin account. When actionable message arrives, we all can see the message, but only mine and Admin account actually send HTTP request,. For other users there is an error: The action could not be completed. I've tried Client and Web, I've tried put other colleagues, I've registered new originators. But still same problem, and i don't know where to look anymore. Thanks!
Hi Giuliano, I have an issue with the submit button (Action.Http). I keep getting the following error: "The remote endpoint returned an error (HTTP '502'). Please try again later." when i try to submit the actionable message. This is the error returned on the flow: Unable to process template language expressions in action 'Decode_Auth_Bearer_Payload' inputs at line '0' and column '0': 'The template language function 'decodeBase64' was invoked with a parameter that is not valid. The value cannot be decoded from base64 representation.'.
Hi, Try to replace the string that you have in step 'Decode_Auth_Bearer_Payload' with this one: decodeBase64(concat(split(replace(triggerOutputs()['headers']?['Action-Authorization'], 'Bearer ', ''), '.')?[1], '=='))
Hi, Here you can find the Actionable Message sample that I used: github.com/giuleon/ActionableMessage/blob/main/ActionableMessage.json Thank you for your interest
@@DeLucaGiulian Thank you. I found it. The problem I am having rn is that the action.http button does not show up in the outlook email, even though I added it in the adaptive card designer format. Am I missing something or is it just a bug? I also included an id and an originator as demonstrated in the video, but no luck. Any suggestions?
If you are sure that you added the actionable message in the Actionable Email Developer Dashboard (where you get the originator ID), next thing to do is trying to decrease the version of your adaptive card which is probably not compatible with your outlook version. One quick question you have the same behavior in Outlook for web?
@@syedgazanfar7795 you can do it mandatory with adaptive cards but in classic approvals approach is not available, that means putting a loop in order to check if the comment is added otherwise asking again to the user
Hi, I had few questions. What happens if the first approver opens the email and closes it without performing any action ? Will autoinvoke say that the request is approved/rejected? And if yes, how to prevent such scenarios ?
Hi, Thank you for your question. In order to handle this use case along with the autoinvoke request you should send the id of the SharePoint list item for instance. In this way, in your Logic App or Power Automate flow, you can check the current status of your request by querying the SharePoint list. If the status is not approved or rejected, you have to send back a response with HTTP status 200 and enough. I hope it's clear.
@@DeLucaGiulian this is the condition which is handled in the first switch case in the example power flow… is that right ? So if I’m correct, the actionable message not refreshing on simply opening is handled here as well , right ?
Works fine for me in outlook from the browser but I'm getting an error when submitting when using mobile outlook app and windows outlook app. Says "Something Went Wrong" even though on power automate it shows that it completed just fine. Any ideas?
Hi, Maybe for some reason the response doesn't land correctly in the Outlook App. Could you try to downgrade the version of your adaptive card. For example if you have version 1.3 you can try with lower versions 1.2 or 1.1
Hi, Have you tried to open the message in Outlook for web? It sounds that the version that you specified in the JSON of your adaptive card is not yet supported in your Outlook client, you can try to downgrade the version and send the message again. For instance, if you have "version": "1.4" you can modify it in this way "version": "1.3"
decodeBase64(split(replace(triggerOutputs()['headers']?['Action-Authorization'], 'Bearer ', ''), '.')?[1]) gives the following error: Unable to process template language expressions in action 'Compose' inputs at line '0' and column '0': 'The template language function 'decodeBase64' was invoked with a parameter that is not valid. The value cannot be decoded from base64 representation.'. Is there a solution for this error?
decodeBase64(split(replace(triggerOutputs()['headers']?['Action-Authorization'], 'Bearer ', ''), '.')?[1]) This one works fine for me, have you tried in another environment?
@@DeLucaGiulian That code didn't work, i didn't try another environment. The solution for me was using this code in a Initialize variable: @{json(if( equals(mod(length(split(variables('JWT Code'),'.')[1]),4),0), decodeBase64(split(variables('JWT Code'),'.')[1]), decodeBase64(concat(split(variables('JWT Code'),'.')[1],take('===',sub(4,mod(length(split(variables('JWT Code'),'.')[1]),4))))) ))} JWT Code: @{replace(triggerOutputs()['headers']?['Action-Authorization'], 'Bearer ', '')}
Good day to you Giuliano, I have been trying to reach you on social networks. Apologises for my approach. I am I have been following your tutorial called "How to use Actionable Messages in Outlook with Power Automate" and I am stuck. Would you be able to help me? I am willing to pay for your services. Please let me know if this is workable with you. Regards Michael
Best video on this subject! Thanks!
Wahoo many thanks 😉
Super helpful, thanks Giuliano!
Many thanks 😉
Big thanks, very useful information!
@@vossenjonk3448 thank you ❤️
Very comprehensive and well presented. Excellent.
@@paulclifford-jones5960 Thank you, I'm honored
Thanks a lot for the video, I couldnt find a way to approve actionable message registration. thanks to you i found the link to log in as admin
Hi, thank you for this tutorial. I have managed to follow each steps successfully except for the CARD-UPDATE-IN-BODY. The run in Power Automate shows that it is successfully executed but on outlook the actionable message is not refreshed and it gives me error "Something went wrong. Please try again later". I'm using version 1.0. Any ideas?
Thank you very much. Sub element is what I was after and couldn't find it anywhere.
Thank you for taking the time to watch the video.
Hi, i have a question here...is there a way to track who actually responded to the actionable message on Outlook? Or make only a specific person can react to the card?
Hi,
Yes follow this step in the video:
ua-cam.com/video/DCihYRK8w9Q/v-deo.htmlsi=V_pVZrwYvhmjJO5k&t=1667
I showed how to get the user who responded to the actionable message.
Thanks a lot for the video. approve/reject buttons on actionable message is working in the logic app with consumption plan but it is failing with standard tier plan. It says "Target URL is not allowed" when click on approve/reject. Please let me know if you know the reason.
This is fantastic. Thank you!
Thanks Mike 😉
Thanks for the video, but how come you can use adaptive card version 1.3 for outlook actionable messages? As far as I know, actionable messages only support adaptive cards v 1.0
Hi,
Thanks for watching 😉.
Outlook actionable message supports the schema version v1.4
Hi Giuliano,
Message works perfectly for me, but i have an a problem with other users.
I've created test user group for this with 3 of my colleagues and as a sender, I've added our Admin account.
When actionable message arrives, we all can see the message, but only mine and Admin account actually send HTTP request,.
For other users there is an error: The action could not be completed.
I've tried Client and Web,
I've tried put other colleagues,
I've registered new originators.
But still same problem, and i don't know where to look anymore.
Thanks!
Hi Giuliano,
I have an issue with the submit button (Action.Http). I keep getting the following error: "The remote endpoint returned an error (HTTP '502'). Please try again later." when i try to submit the actionable message.
This is the error returned on the flow: Unable to process template language expressions in action 'Decode_Auth_Bearer_Payload' inputs at line '0' and column '0': 'The template language function 'decodeBase64' was invoked with a parameter that is not valid. The value cannot be decoded from base64 representation.'.
Hi,
Try to replace the string that you have in step 'Decode_Auth_Bearer_Payload' with this one:
decodeBase64(concat(split(replace(triggerOutputs()['headers']?['Action-Authorization'], 'Bearer ', ''), '.')?[1], '=='))
09:40 - where can I find the code for POST URL and Body?
There you go:
{
"type": "Action.Http",
"title": "Submit",
"method": "POST",
"url": "prod-70.westeurope.logic.azure.com:443/workflows/9956605329af451790e5e5a8da19d196/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=3o-VCGgh8uemBKHg3bL7vp7YfXsonr9aK-vHCQokOD4",
"body": "{\"Option\": \"{{Options.value}}\", \"Comments\": \"{{Comments.value}}\",\"ac_id\": \"@{triggerOutputs()?['body/ID']}\"}",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
You can create this code in the adaptive card designer:
www.adaptivecards.io/designer/
could you share the code you used on the active card?
Hi,
Here you can find the Actionable Message sample that I used:
github.com/giuleon/ActionableMessage/blob/main/ActionableMessage.json
Thank you for your interest
Good video! Can you tell me will this process work if we are sending the emails to users outside our organization?
Thanks for watching 😉.
It will work only with Microsoft 365 or Outlook.com mailboxes.
Action.HTTP no longer exists on adaptive card designer. What do we do?
Hi,
In the adaptive card designer set Outlook Actionable Messages in the field Select host app and you'll be able to add an Action.Http button
@@DeLucaGiulian Thank you. I found it. The problem I am having rn is that the action.http button does not show up in the outlook email, even though I added it in the adaptive card designer format. Am I missing something or is it just a bug? I also included an id and an originator as demonstrated in the video, but no luck. Any suggestions?
If you are sure that you added the actionable message in the Actionable Email Developer Dashboard (where you get the originator ID), next thing to do is trying to decrease the version of your adaptive card which is probably not compatible with your outlook version. One quick question you have the same behavior in Outlook for web?
@@DeLucaGiulian what do you mean by behavior?
That the button doesn't show up
Is it possible to use this method to send adaptive card to webex as well?
Hi,
Yes you can send the adaptive card for webex check this out:
developer.webex.com/buttons-and-cards-designer
Can we use power automate approval instead of this approach???
Yes sure
Thanks for your quick reply,
One more question 😊 how can we make approver comments required when we use power automate approval
@@syedgazanfar7795 you can do it mandatory with adaptive cards but in classic approvals approach is not available, that means putting a loop in order to check if the comment is added otherwise asking again to the user
I will use this method then thank you so much for this great video I really appreciate your quick response.
Hi,
I had few questions.
What happens if the first approver opens the email and closes it without performing any action ? Will autoinvoke say that the request is approved/rejected? And if yes, how to prevent such scenarios ?
Hi,
Thank you for your question.
In order to handle this use case along with the autoinvoke request you should send the id of the SharePoint list item for instance.
In this way, in your Logic App or Power Automate flow, you can check the current status of your request by querying the SharePoint list.
If the status is not approved or rejected, you have to send back a response with HTTP status 200 and enough.
I hope it's clear.
@@DeLucaGiulian this is the condition which is handled in the first switch case in the example power flow… is that right ?
So if I’m correct, the actionable message not refreshing on simply opening is handled here as well , right ?
Yes exactly 👍
The actionable message won't refresh
@@DeLucaGiulian Thank You so much for clarifying my doubts
Thanks to you for watching and asking
Works fine for me in outlook from the browser but I'm getting an error when submitting when using mobile outlook app and windows outlook app. Says "Something Went Wrong" even though on power automate it shows that it completed just fine. Any ideas?
Hi,
Maybe for some reason the response doesn't land correctly in the Outlook App.
Could you try to downgrade the version of your adaptive card.
For example if you have version 1.3 you can try with lower versions 1.2 or 1.1
@@DeLucaGiulian that was it, thank you! Subscribed 👍
Thanks 🙏
When I try to send another user the message is blank
Hi,
Have you tried to open the message in Outlook for web?
It sounds that the version that you specified in the JSON of your adaptive card is not yet supported in your Outlook client, you can try to downgrade the version and send the message again.
For instance, if you have "version": "1.4" you can modify it in this way "version": "1.3"
decodeBase64(split(replace(triggerOutputs()['headers']?['Action-Authorization'], 'Bearer ', ''), '.')?[1]) gives the following error:
Unable to process template language expressions in action 'Compose' inputs at line '0' and column '0': 'The template language function 'decodeBase64' was invoked with a parameter that is not valid. The value cannot be decoded from base64 representation.'.
Is there a solution for this error?
decodeBase64(split(replace(triggerOutputs()['headers']?['Action-Authorization'], 'Bearer ', ''), '.')?[1])
This one works fine for me, have you tried in another environment?
@@DeLucaGiulian That code didn't work, i didn't try another environment. The solution for me was using this code in a Initialize variable:
@{json(if(
equals(mod(length(split(variables('JWT Code'),'.')[1]),4),0),
decodeBase64(split(variables('JWT Code'),'.')[1]),
decodeBase64(concat(split(variables('JWT Code'),'.')[1],take('===',sub(4,mod(length(split(variables('JWT Code'),'.')[1]),4)))))
))}
JWT Code: @{replace(triggerOutputs()['headers']?['Action-Authorization'], 'Bearer ', '')}
@@arjanterheegde the error that you get comes from a compose action?
@@DeLucaGiulian Yes!
Strange that you get this error but in any case you found a workaround
Good day to you Giuliano,
I have been trying to reach you on social networks. Apologises for my approach. I am
I have been following your tutorial called "How to use Actionable Messages in Outlook with Power Automate" and I am stuck.
Would you be able to help me? I am willing to pay for your services.
Please let me know if this is workable with you.
Regards
Michael
replied on linkedin
really helpful. Thanks 😊