Skip to main content

One of the major trends in IT is the tighter integration of Communication, Collaboration and Core System tools. Microsoft Teams and Slack are communication channels that not only replace email for many conversations and notifications, but also provide great added value for collaboration. Microsoft Teams far outperforms any of their competitors on collaboration, thanks to being embedded in Office/Dynamics 365 and allowing for custom in-Teams apps, integrations, etc. Slack has been acquired by SalesForce recently with the same purpose of tightly integrating a collaboration tool with a Core (CRM) System:

Together, Salesforce and Slack will deliver the Slack-first Customer 360 that gives companies a single source of truth for their business, and a single platform for connecting employees, customers, and partners with each other and the apps they use every day, all within their existing workflows.

In light of these trends and the high adoption rates of tools like Teams and Slack, I am surprised about the limited Notification options in the Thinkwise platform and the limited nr of docs / community topics. The current references are either about e-mail integration or are feature requests.

With this post I am looking for inspiration from the Community and for vision and timelines from Thinkwise. We are live with the Universal GUI for more than a year now, we have never used the other GUIs in Production (so we might be unaware of some possibilities), and are impatiently awaiting more functionality on the topic of Notifications.

What we have done so far:

  • Use Badges to highlight pending items
  • Use Task as Start Object to show Release Notes after login (we use an altered version of this solution)
  • Users can Create and Assign Tasks across the application, which are shown in the Menu for each individual user

 

Currently under development:

  • Use a 'Subscribe' task and create a 'Notification' view which highlights most important changes related to records to which the user subscribed
    • Including a way to mark Notifications as Read/Unread, and a Grid-double click Process Flow to go to the subscribed record
  • Teams icon/e-mail Expression fields on top of the Trace fields to allow users to contact the Created by/Updated by person directly (we can do this thanks to the fact that we use email addresses (Azure AD) for login):

 

Current Thinkwise/Universal GUI limitations:

  • We intended to use Badge logic to trigger in-app Proactive Notification messages, but unfortunately the Universal GUI implementation of the Badge logic does not guarantee the delivery of such a message to the end user and Thinkwise is not willing to change this behavior. It would be great if this Idea regarding Menu items in the Top bar (PLEASE VOTE!) is implemented soon, including Badge logic that will always fire for Badges related to these Top bar Menu items.
  • As long as Deeplink support (PLEASE VOTE!) is missing, external Proactive Notifications (either via Teams, via e-mail or any other tool) are not very actionable: the Notification won't have a direct link to the record of which the user is notified.
    • Deeplink together with Adaptive Cards promises to be a very powerful way to even support actions within Teams/Outlook to trigger changes to records in Thinkwise without users having to open the Thinkwise GUI (f.e. for Approvals).
    • @Jasper @Anne Buit When can we expect Deeplink to work with Universal GUI?
  • Push Notifications (PLEASE VOTE!) are not supported by any Thinkwise GUI at the moment, and in fact iOS is not supporting Push Notifications for PWAs at all.
    • @Jasper @Anne Buit When is Thinkwise planning to deliver support for Push Notifications?
    • @Jasper @Anne Buit How is Thinkwise planning to circumvent the lack of iOS support for Push Notifications?

 

@Community: can you inspire us with more solutions or ideas that you implemented in your application?

Hi Arie,

Thank you for taking the time to write this comprehensive post. As you mentioned, there is currently limited information available about push notifications in the documentation and on the community. This is probably also due to the nature of the applications developed with the Thinkwise platform: business applications that people often use on a daily basis during fixed moments. For these apps, users can usually be sufficiently alerted to, for example, open tasks or new messages by means of badges or start objects.

Of course, that does not alter the fact that we are very eager to support push notifications. However, we still have quite some other features on the Universal backlog with a higher priority, based on the collected input from our customers. One of those features is deep links which, as it stands, will likely become available in Q2.

As for push notifications, I expect to get to those around the end of the year. If by then there is still no support for the Push Notification API on iOS, there are some alternatives that we can look at, like a dedicated notification concept, similar to the badge messages (so runtime only) but actually set up for this purpose so without the current drawbacks.

Another alternative is using a native companion app for push notifications or a native wrapper around the Thinkwise PWA (e.g. Capacitor). Needless to say we are keeping a close eye on new developments in this area.

By the way, I'm curious what your considerations have been for the chosen approach for sending proactive notifications, instead of regular Teams messages via the Graph API. Can you elaborate on that?


@Jasper Thanks for your swift response on my questions!

As you can imagine I am not too happy about the timelines you're mentioning, but it does set the expectations. In this post from 2,5 year ago you sounded much more optimistic :wink:

 

Would the dedicated runtime notification concept you're suggesting as backup plan for Push Notifications overlap a lot with this Idea?

If yes, would it be possible to squeeze that into Release 2022.2, as either with or without Push Notifications it definitely adds value! Perhaps it doesn't have to be much more than adding a Menu Type to the SF and have the Universal GUI interpret that.

Glad to hear that using Capacitor is a means to provide Push Notifications for iOS as well!

 

Good that you mention Graph API, I completely forgot to mention it in my post and have updated it accordingly. The Graph API is however a lot more complicated to configure if Notifications are supposed to be send using a System Flow. For Teams Chat/Channel messages it does not allow Application permissions, so your Microsoft Graph authentication blog does not work for this use case. I understood from Vincent that it should be possible to get it working using the Oauth refresh token connector, but that's a bit more configuration and testing. Both the Webhook and Power Automate solution simply provide an endpoint we can directly POST to using the standard HTTP Connector. 

As you might deduct from the fact that I'm listing multiple solutions there, we're still investigating and testing the various alternatives. Any recommendation is welcome! :relaxed:

By the way, the term ‘proactive notifications’ is just my way of distinguishing it from push notifications. Related to Teams I would have them delivered as a Chat or Channel message.

 


@Community I'm still looking for inspiration from others! Could someone share some tips & tricks regarding e-mail notifications? For instance, does anyone use e-mail notifications in combination with Adaptive Cards by means of which users can provide a response directly from within the e-mail, instead of having to login to the Application?

 

From my side, an update on the topic of sending Notifications to Teams Chat or Channel:

  • We got the Teams Incoming Webhook option working, this is very plain and simple: send some JSON to the created Incoming Webhook endpoint. Limitation: it only works for Teams Channels
  • We got the Power Automate option working too, from a Software Factory perspective the development is similar to the Incoming Webhook concept. Since we wanted to be able to send a single Notification to multiple Teams Chats, the JSON and the Power Automate setup are a little more complicated:
    Power Automate flow for Teams Notifications from Thinkwise
  • Although the below blog from @Dick van den Brink is a great help, we're struggling to get the Graph API route working. Most important limitations: OAuth Login connector is not supported by the Universal GUI yet & the default read only OAuth server setting in the SF for Prompt (Consent) is breaking our flow.

  • We have no intentions to pursue the Azure Logic Apps or the Teams custom Thinkwise app options at this stage.

Two updates on this:

  1. For the 2022.2 release, we will be working on in-app push notifications that you can send from both IAM and your own application using a system flow action.
  2. There seems to be some movement at Apple on push notification support for Progressive Web Apps. It's not quite there yet, but it's a start: https://firt.dev/ios-15.4b

Another update from my side: we have the MS Graph API route working for Teams notifications and will be taking this into Production pretty soon, along with the in-app push notifications introduced with Thinkwise Platform release 2022.2.

Still impatiently awaiting deeplinking to be supported with the Universal GUI. 

Any other suggestions and recommendations from the Community?


One of those features is deep links which, as it stands, will likely become available in Q2.

As for push notifications, I expect to get to those around the end of the year. If by then there is still no support for the Push Notification API on iOS, there are some alternatives that we can look at, like a dedicated notification concept, similar to the badge messages (so runtime only) but actually set up for this purpose so without the current drawbacks.

Another alternative is using a native companion app for push notifications or a native wrapper around the Thinkwise PWA (e.g. Capacitor). Needless to say we are keeping a close eye on new developments in this area.

By the way, I'm curious what your considerations have been for the chosen approach for sending proactive notifications, instead of regular Teams messages via the Graph API. Can you elaborate on that?

@Jasper We are almost at the end of the year and unfortunately the timelines you mentioned earlier have not been realized at all. Deeplinking is still not there and I haven't heard of any indication that Push notifications will be delivered with TWP 2023.1 Release.

On your reference to Capacitator: Outsystems has bought Ionic, so potentially you don't want to use this solution anymore.

On a positive note: it seems that iOS will come around in 2023 for Web Push!

Another thing that was released with TWP 2022.2, but is not yet supported in the Universal GUI is support for Messages with sound

When do you expect to ship the mentioned features? 


Hi Arie,

Due to changing priorities we had to adjust the planning for a number of features. Please check the Universal GUI forecast for the most up-to-date schedule.

For the good news: deep links have been completed this sprint and will be available in Universal's beta release tomorrow!

Messages with sound for Universal has already been worked on and will become available within a few sprints.

Regarding push notifications: the first phase of the development, being able to queue push notifications from process flows and display them in-app, was delivered with the 2022.2 platform release. We don't have a concrete timeline for the sequel yet. Again, keep an eye on the Universal forecast.


Reply