A company has client information stored across a range of applications, namely:
- Salesforce: cloud service containing general client company information and contact data
- PostgreSQL: on-prem database containing client orders
- ServiceNow: cloud service containing client incident (support case) data
The company wants to be able to easily select and collate data on demand into a PDF report which can then be distributed to recipients in several ways including Email, SecureTransport & Syncplicity.
The use case needs to be flexible to handle a range of use cases, for example:
- Customer Service Manager: Requires a report from all data sources to understand client situation. Requires the report via Syncplicity.
- Sales Manager: Wants a report with Company information and Contact data sent via Email.
- Support Manager: Wants a report on client support cases and contact data. Requires the report every morning via Syncplicity.
- External Client: Wants regular Order reports sent via SecureTransport.
The components are shown in the diagram below:
Salesforce: An Integration Builder cloud connector providing company and contact data.
ProstreSQL: An on-prem service hosted in a docker container on AWS containing client Order data. An Integration Builder connector is used for this.
ServiceNow: An Integration Builder cloud connector to a development ServiceNow environment containing customer incident data.
PDF Report Generator: A custom-built Java application that’s able to take JSON data as inputs and create a PDF Report file (see diagram below). This is hosted as a microservice on our service mesh. A custom Integration Builder connector is used to make this available.
Outlook: Integration Builder cloud connector for sending emails.
Secure Transport: On-prem application used for managed file transfers (hosted in our Australian VM environment). A custom Integration Builder connector is used to make use of the ST APIs.
Syncplicity: Integration Builder cloud connector for using Syncplicity to send files.
The flow is designed to be flexible and allows users to choose “what data they want” and “where they want to send it.” Therefore, there are several decision points throughout the flow that are set via the flow trigger (e.g. orders=true, incidents=false etc.). At a high level, the flow performs the following tasks:
- Retrieves data from the selected data sources (Postgres, ServiceNow, Salesforce).
- Compiles the data into a structured JSON format.
- Sends the data to the PDF Report Generator to create the pdf file.
- If selected, sends the data via email using Outlook.
- If selected, sends (i.e., streams) the file to the destination folder using Syncplicity—and also allows the option to send an email containing a link to the file to a recipient.
If selected, streams the file to the desired Secure Transport folder.
Discover unlocking the potential of HIP.