Notifications to MS Teams

OK, I am trying to wrap my brain around this. I write a BPM that sends an alert to a Teams Channel and what does the user do to indicate acceptance or rejection? How does this information make it’s way back to Epicor?
How does Jeff’s code tie into this and where would I put it?
Sorry if I am not swift on the uptick but I can sense that everyone is excited that this could change a company culture and effectiveness but I just need see how it is done.

1 Like

As with everything Office 365, the answer is less clear than you’d like. The posting of a message to a teams channel via the Teams Connector webhook is pretty straightforward. The tricky part is more on the side of posting an “adaptive card” to a teams channel, which appears to be a combination of utilizing Microsoft Flow to do most of the heavy lifting and integration. The other lame part is that for anything outside of the walled garden of 365 is you’ll have to pay for the better license to get access to HTTP listeners. You could also do this via email as a trigger (send an email to a 365 box that has a listener on it).

Learn to create flows that post adaptive cards to Microsoft Teams - Power Automate | Microsoft Docs

Design actionable message cards using Adaptive Card format - Outlook Developer | Microsoft Docs

In the action of the adaptive card, one of your actions (like “approve”) will be tied to a URL that points back to an Epicor function which performs the action desired in the ERP. Lots of moving parts.

So the short answer is that actionable messages, whether it be in Teams or Office 365, is not entirely easy to implement (at least from my perspective). The whole thing can be really slick but it does require a lot of trial and error to work through the goofiness and it requires the proper licenses to do stuff properly.

I agree with Aaron here that Adaptive Cards is the current chosen method. While it does seem like a lot of moving parts, it’s that way because it’s not a black box. A monolith solution would be just as complicated, if not more since one would have to write all of the communication logic too. And because it’s loosely coupled, it is easier to test at each stage. it can also work for other systems outside of ERP.

1 Like

OK, thanks Aaron. This helps a lot.

When we were demo’d epicor they showed the canned sales order discount approval workflow. It took a while but I discovered the response was done with Service Connect listening to a mail box. It was all hard coded to the e-mail of the VP and manager. This seemed like a lot of infrastructure to do a simple response.
I was thinking we could do something similar by just embedding a REST URL under a button in an HTML e-mail or a link to a web page that calls REST.
I wonder if the same technique could be used in Teams by just embedding the REST URL in the notification.
I am thinking of maintainability because I have no wish to get phone calls on how the plumbing works when I am hoisting a Pina Colada on holidays.

Depends, if you are doing this via a Channel Connector, you cannot do this.

But can you talk to epicor through teams?

because I can

2 Likes

You can - via REST, just not via Channel Connector

You’re not just gonna show and not tell are you?

It is kind of convoluted with MS low/no code integrations, but I used something called Power Virtual Agent to create the bot in teams, and that interfaced with a Microsoft Flow program that did the REST connection, and put the json into an html table.

I spent too many hours messing with adaptive cards with this, and it ended up not really working due to adaptive cards not being fully supported in teams.

1 Like

I had a similar experience with the adaptive cards. Super cool in theory though. Convoluted low code :rofl: god that’s the truth isn’t it??

Agreed on these points. Lot’s of “we are eventually going to add X feature”

No love for EVA

1 Like

Also love how everything is constantly being deprecated, so heaven forbid you actually build an application with their tools outside of R&D or example purposes