In this article we will present a solution that alerts users as soon as suspect data enters the system and gives them the opportunity to act on it, all integrated into Slack.
Use case
Imagine the following scenario: Stock prices are loaded into Asset Control and propagated all the way up to C0 level. There you have a validation function configured that will flag any price movements exceeding 10% as suspect. And you will need to review and validate these before the system can send them downstream. You either accept the price as is (Validate) or provide an amended price yourself (Manually correct).
If you are familiar with timeseries validation in Asset Control, then none of this is new. What is different this time is that instead of using the Exceptions log or Workflow within Asset Control, we will get notified in Slack whenever a new suspect stock price arrives in the system. And we will be able to either Validate or Manually correct the price from there.
Now, I appreciate that you may not be looking to validate prices in Slack just yet, but I think it serves as a nice example of how to integrate a data flow in Asset Control with other systems in your organisation. Slack is just commonly known and many people would have some experience with Slack apps to be able to see how this can be used, so bear with me.
The Slack app
Let’s look at the Slack app in action:
Here is what happens in the video:
- We simulate a suspect price coming into the system and immediately see the alert in Slack:
- We choose Validate and check the price in the Asset Control Desktop. You can see that it has been validated.
- Then we change the price again, triggering another alert in Slack.
- This time we choose Manually correct and adjust the price to be 338.0:
- Finally, we can confirm that the price has been manually corrected in the Asset Control Desktop.
How does it work?
Now, let’s look at the components involved to make this work in the following diagram:
- We need to be able to detect suspect prices as and when they arise in Asset Control.
- One solution to achieve this is to make use of the Asset Control Replicator and implement our own notifier, AC Monitor.
- The AC Monitor will receive any transactions committed to Asset Control from the Replicator.
- It will then filter for suspect prices due to percentage failures.
- For any such suspect price, we use the Slack Client/App to send a message into a predefined Slack channel.
- The user can then either Validate or Manually correct the price.
- Depending on the choice the AC Monitor will then perform the corresponding action in Asset Control.
As you can see from the diagram, we have touched on a number of interesting topics that you may or may not be familiar with already. Rather than trying to cover this material in a single blog post I will use this as an opportunity for follow-up posts on:
- The Asset Control Replicator
- How to implement a custom notifier
- Testing a custom notifier with Adetta
- Third party integrations
For now, I hope you enjoyed this article. Let us know if you are interested in other integrations. We’d be happy to help.