Intro and backend Introduction At RocketFin, our team of software and data engineers is continually...
Unifying the experience – From tool to data
Our month-long journey to transform the way a major investment bank carried out one of their most notorious workflows
This month, RocketFin was asked to give a presentation at the September 2024 FinJs event in London hosted by Here, on how we leveraged their platform to help a major investment bank bring together all the tools and data that they used to generate some of their reports. We decided to show off the work by demonstrating the upgraded journey to generate a comparison report. This takes various financial data points from companies operating within the same market (for example; tech giants or consumer retail) and generates a report enabling an analyst to compare them.
Let’s first consider how the process used to work before the transformation. Upon receiving a request for a report to be generated for a particular set of companies, the banker would need to do the following:
- Open a knowledgebase tool, which essentially serves as the book of record;
- Retrieve the most recent income statements as filed with the SEC, which are stored on the bank’s SharePoint, for all the companies that will be included in the report;
- Load various FactSet widgets which will be used to validate that the data in the filings is accurate;
- Create a project in the knowledgebase tool, populate it with the companies in question, update all necessary data points, and output the updated data points in the book of record to a json file on their desktop;
- Launch the workflow application – which will generate the final report – and correctly identifying the output from the previous step;
- Run the workflow – which takes upwards of 20 minutes – and manually keep track of its progress;
- Download the final report and upload it to a shared location within SharePoint such that it can be accessed by other members of the team.
This is before we even consider the operation risk that can arise by accidentally looking at incorrect or stale data, and the delays that arise when bankers get distracted by other tasks.
OpenFin-ising it all
What if we could reduce that entire process to 3 main steps?
Open the tool, update the data, run a workflow
Thanks to OpenFin, we can do just that.
We set up by designing a layout that can house the main tools that the banker would need in one single window. This simply served as a starting point allowing users to hit the ground running. OpenFin allows for these layouts to be customized to each user’s liking and individual needs to better suit their workflow. The layout is subsequently saved automatically and recalled when the user wants to perform the same function.
The default layout displayed the knowledge base tool in the primary portion of the window, a FactSet widget to the bottom, a panel to the right to automatically pull files from Office365, and an embedded MS Tams chat in the bottom right corner. A screenshot of this is shown below.
These constituent views making up the window are also set up to share context with one another. This is possible using the FDC3 open standard. We can tell that they are set up to share context, because they all have a thing green line running around the frame of the views.
The individual tools and applications themselves are not programmed to talk directly to each other, and therefore have no native capability to pass data to one another. However, since they all adhere to the same standard, they immediately gain the capacity to work together cohesively.
Furthermore, while the tools and widgets produced by FactSet adhere to this standard out of the box, the knowledge base tool did not. To this end, we leverage OpenFin’s preload script ability to inject the functionality into the tool. In this way, it too can now broadcast context messages as well as receive and react to incoming ones.
Let’s see what this looks like in practice. When we click on one of the companies in our primary tool, a message akin to the below is dispatched:
{
type:”fdc3.instrument”,
name:”invidia”,
id: {
ticker:”NVDA”
}
}
The message itself is quite self-explanatory. We are setting the context to an instrument with the ticker code NVDA. The interop broker takes this message, and routes it to the other views that are subscribed to that same green color channel. In turn, these views take the message and perform the appropriate action. In the FactSet widget's case, a chart relating to the price of Invidia is retrieved. The panel on the right shows an Excel sheet with the income statement for the same company.
How is this possible? Well – OpenFin lets us integrate directly with our organization's Office365 instance. This enables instant search through all our emails, contacts, Teams messages, and files. Since this uses the user’s own identity, permissioning is still controlled through Azure Active Directory, and the user can only access files that he would usually have access to. All we needed to do to set this up was simply create a new application within the Azure instance and plug in some configuration values in our setup. Then it was a matter of querying for the file we were after – the income statement relating to Invidia – and displaying that in the panel to the right.
Let’s say we also wanted to look up the relevant account in SalesForce as well. Just as simple thanks to OpenFin’s direct integration with our SalesForce organization. All we need to do is pull up OpenFin home and type in the name of the account we’re after. Once we select the appropriate result – which opens in a new window – we can dock it with the rest of our views. As with the Office365 integration, setup was straightforward and all we needed was to configure some organization specific settings in the workspace we created.
Let’s now select a different company. In the clip below, notice how not only have my FactSet widget and income statement updated to show me data for Tesla, but the SalesForce view has navigated to the relevant SalesForce account! Gone is the risk that users are looking at data for two different companies and erroneously mixing up the two. The context sharing feature takes care of it automatically.
All we needed to do to set this up was install the Here SalesForce extension which is available on the App Exchange Marketplace and configure it to automatically share account and contact context.
I wrote earlier that we utilize the preload script feature to enable our knowledge base tool to both publish (which we’ve now seen) and receive context messages. In the clip below, notice how as I plug in the ticker code for Invidia in my FactSet widget, all my tools refresh to go back to showing me that entity.
Finally, we leverage that same preload script ability to inject a button into the primary tool allowing the user to navigate straight to the app where they will run their workflow. Since we know the context of the project we were working with, we can pre-fill the file to use as input, and after the workflow has finished executing, save the resulting report to SharePoint. This again utilized the Office365 integration to upload the file to a shared location accessible by the rest of the team. Once the upload is complete, we are informed by means of a notification - a feature that’s also bundled with OpenFin – that it is available, as well as provided by a button to allow us to launch it directly in OpenFin.
Destination Automation
What steps can we take to make this process even faster and more efficient for our bankers?
What if we could simply ask Microsoft Copilot to do some of the work for us?
Perhaps we can eliminate the manual step of creating a new project and selecting the companies we’re interested in.
Using Microsoft’s Copilot Studio, we created a custom copilot and configured it such that it can recognize when we’re trying to generate a new comparison sheet. It subsequently identifies the companies that we’re interested in, and it raises a custom FDC3 intent to that effect. This intent is subsequently picked up by the OpenFin instance running on our desktop, and a snapshot is restored with all the tools already laid out in one single window.
Similarly, we can also ask Copilot to show us data for a particular company in OpenFin. This will take the message, identify the company that we’re interested in, get the relevant ticker code for it, and broadcast an FDC3 instrument context. My applications – which are all listening for incoming contexts, can all react accordingly and pull up data related to that company.
Conclusion
A recording of our presentation – which shows off all the features I describe above – is available for viewing here.
If you have any questions, comments or concerns about this post, you can reach me at mark.buhagiar@rocketfin.co, where I will be happy to discuss both this topic further, as well as how RocketFin can help your organisation leverage Here™️ (formerly OpenFin) technologies, from their freshly launched Here Browser, to their flagship offering OpenFin Workspace, to custom designed and built containerised applications, to achieve your objectives more effectively and efficiently.
Mark is a Lead Consultant and full stack developer with a decade-long career in consulting. He has worked across diverse industries, including auditing, energy trading, commodities, and various financial sectors such as forex trading and capital markets.