...
In This Article
Table of Contents |
---|
Glossary
There are a number of key terms relevant to the use cases described in this document.
Key Term | Description |
---|---|
GraphQL API | Method of retrieving a customer’s data via a single endpoint. For more information, please see “Introduction to the Scope GraphQL API”. |
DeepLinks | Method of launching the Scope Worklink app via a structure URL. For more information, please see “Using Deeplinks”. |
Webhooks | Method of notifying a customer’s internal systems about key events that take place in the Scope platform. For more information, please see “Using Webhooks”. |
Scenarios | Sets of work instructions pertaining to a specific physical device, to completed by a user while using the Scope Worklink app. For more information, please “Scenario” in the reference docs. |
Scenario Sessions | Recordings of Scenarios performed and completed by a user while using the Scope Worklink app. For more information, please “ScenarioSession” in the reference docs. |
Scenario Catalogs | Method of mapping a customer’s internal system objects (like assets or training modules) to Scenario Sessions. For more information, please “ScenarioCatalog” in the reference docs. |
Use Case #1: Custom Data Retrieval
Problem
As an analyst, I want to know which users have completed a particular Scenario so that I can issue credit to the users relating to the associated learning module in my system-of-record.
Solution
I will use a GraphQL client to retrieve Scenario Session data from the Scope GraphQL API which is not otherwise available in the Scope CMS user interface.
Procedure
...
The GraphiQL client application is installed and configured to communicate with the Scope GraphQL API (see “Exploring the Graph”)
The following query is executed:
Code Block query { node(id: "INSERT_ID_OF_SCENARIO") { ... on Scenario { sessions { nodes { id state user { id name } } } } } }
The JSON response is reformatted to CSV (using any relevant tool) for merge with system-of-record data and/or reporting.
Use Case #2: Data Analytics
Problem
As an analyst, I want to import data from the Scope platform on a regular basis so I can visualize the data with my internal BI tools.
Solution
I will use a custom internal application and the Scope GraphL API to retrieve Scenario Session data and store in a Data Store that my BI tools can read.
Procedure
...
Customer creates a custom application that:
Queries the Scope GraphL API on a regular basis.
Translates the JSON response into a Schema most compatible with customer’s needs.
Stores the translated data to customer’s Data Stores.
Use Case #3: Real-Time Integration with System-Of-Record
Problem
As an administrator, I want to associate Scope Scenario Session data with work orders in my system-of-record (e.g. Salesforce), in real-time, as my users interact with the Scope platform.
Solution
I will use a custom internal application, Deeplinks, Scenario Catalogs, Webhooks, and the Scope GraphL API to retrieve Scenario Session data, as the data becomes available, and associate said data with work orders in my system-of-record.
To view a live demo “custom internal application”, complete with source code, see https://api-demo-ruby.scopear.com.
Orchestration Summary
The system-of-record provides a work order identifier to the Scope platform whenever a user leaves the system-of-record to interact with the Scope platform.
The Scope platform then attaches said work order identifier to the Scenario Session data that it creates and manages.
The Scope platform then notifies a custom application (aka “Webhook Listener”), in real time, as the user creates and updates Scenario Session data.
The Webhook Listener then retrieves Scenario Session data and stores in the system-of-record using the previously provided work order identifier to locate the relevant work order.
The Scope Platform can accept and store any number of external data objects, not just work order identifiers. For more information , see “Using Deeplinks”.
Configuration
For each physical device (aka the “Asset”) that work orders might pertain to in the system-of-record (.e.g. “Generator Model #1234”):
The administrator creates at least one Scenario for the Asset using the Scope Create 2 application.
The administrator creates a Scenario Catalog using the Scope CMS web interface.
The administrator configures the system-of-record to present a dynamically generated link whenever system-of-record users view work orders (aka the “Deeplink”). The link passes both the asset identifier and work order identifier as parameters:
Code Block worklink://resource?action=fetch_catalog&asset=INSERT_ASSET_ID_HERE&work_order_id=INSERT_WORK_ORDER_ID_HERE
The administrator creates a custom internal application designed to receive Scope Webhooks, and configures the customer’s Scope account to send Webhooks to said application.
For sample Salesforce configuration instructions, please see “ServiceMax Configuration Guide”.
Procedure
...
The user visits the dynamic Deeplink preconfigured in the system-of-record.
The WorkLink app launches and loads the Scenario Catalog identified by the Deeplink
asset_id
query param.The user selects a Scenario and begins a Scenario Session (causing all additional query parameters passed by the Deeplink to be stored as a JSON hash in the
ScenarioSession.externalData
attribute, including and especially thework_order_id
).The customer’s custom application receives Webhook event notifications and decides to act based on the
event
anddata.resource_type
payload values (i.e. when event =create
orupdate
, and resource_type =ScenarioSession
).The customer’s custom application queries the Scope GraphQL API and retrieves the data identified by the Webhook payload
resource_id
(see Sample Queries).The customer’s custom application inspects the data retrieved for the value of
ScenarioSession.externalData.work_order_id
The customer’s custom application then associates the retrieved Scenario Session data with the work order in the customer’s system-of-record (using system-of-record APIs).
Use Case #4: Call Integration (Coming Soon)
As a field service technician, I want an easy way to launch a call from our service desk application so that it’s associated with the active job id.
As an analyst, I want to measure time-to-resolution metrics for jobs that had AR Remote Assistance calls to measure ROI.
Application
Simplified calling
Closed loop service desk SLA metrics.
...
Orchestration
Users are assigned call IDs that can be integrated with a system-of-record (like a service desk tool’s contact list)
Experts can click on a Deeplink to launch application and call a specific contact from the system or record.