Use case: Moveworks service automation with Nexthink workflows
This use case outlines the steps to configure and integrate a Nexthink workflow, using Workflow APIs, with the Moveworks chatbot service to automate issue diagnosis and resolution in real time—all within the chat.
This document provides NQL examples for common chatbot tasks essential for issue resolution, including:
- Providing employees with basic troubleshooting related to their device issues. 
- Leveraging Nexthink data about employee devices to retrieve basic device information. 
- Launching a remediation to fix a disk issue. 
Before you begin
Ensure the following requirements:
- Access to the Workflow execution endpoints: - POST /v1/workflows/execute
- POST /v1/workflows/execution/{executionUuid}/injec
 
- Nexthink API credentials (OAuth2 client ID and secret) to be used in Moveworks HTTP calls. 
- Administrator access to, in this case, Moveworks Studio. 
Step 1 - Design the workflow-chatbot architecture using Workflow APIs
Design standardized steps for the chatbot-workflow interaction and define the workflow feature for each step.
Refer to the Integrating chatbots with Nexthink workflows documentation to understand the chatbot flow using Nexthink Workflows API flow.
The following table illustrates the designed interaction steps for this use case. This sequence keeps users in control—while Nexthink runs seamlessly in the background.

1. Authenticate communication
Workflow API credentials: token collection via Nexthink platform.
2. Moveworks triggers workflow execution
Conversation inside the Moveworks chatbot calls the Workflow API (/executions endpoint).
3. Workflow pauses/resumes logic based on input
Moveworks provides user/device context as input variables to Nexthink using the /inject API endpoint.
Workflow uses API Listener to wait for chatbot/user input mid-conversation.
5. Workflow orchestrates issue remediation
Workflow handles branching, Connector and Service API thinklets, and triggers Remote Actions, campaign, notifications, or other logic based on the user's choice
6. Worflow return results to chatbot
Workflow outputs remediation results/status using a Service API thinklet.
Moveworks chatbot sends confirmation back to the employee.
Step 2 - Configure the Moveworks chatbot to trigger Workflow APIs
In Moveworks Studio:
- Create a bot flow triggered by a user question. For example: I need help with my laptop. 
- Add an HTTP action: - Method: - POST
- URL: - https://api.<your-tenant>.nexthink.cloud/platform/v1/workflows/execute
- Headers: - Content-Type: application/json, plus authorization using OAuth2 credentials from Nexthink
 
- Store the API response, which includes: - workflowUuid
- executionUuid
 
- Create two slots for - workflowUuidand- executionUuid:- Parse the API response from before and assign values to these slots. 
- These values are used later to resume the same workflow instance. 
 
Step 3 - Create a Nexthink workflow to support Moveworks chatbot 
In Nexthink workflow Designer:
- Create a new workflow. 
- Add a Service/API thinklet to query the user’s devices. 
- Insert a Wait flow control and set its Type to API listener. - Ensure your Wait flow control is configured correctly, as the input structure should match what the chatbot sends. Example of an expected payload from Moveworks: - jsonCopyEdit{ "input": { "selectedDevice": "Laptop-2345" } }
 
- Define a timeout (for example, 60 minutes) and output parameters like - selectedDevice.
- Add a Condition flow control to evaluate the - selectedDeviceparameter in the workflow.
- Based on the input, define automated actions such as: - Using a Remote Action thinklet to fix the issue. 
- Sending a Message or Campaign to confirm resolution. 
- Using a Function thinklet to parse, validate, or transform inputs. 
 - These are the functional, actionable steps based on the user's choices. 
Step 4 – Validate the Moveworks-workflow integration 
In Nexthink, from the target workflow overview dashboard, open the timeline execution history and verify:
- The workflow was triggered and paused. 
- The Wait block resumed after input. 
- Parameters were correctly populated. 
In Moveworks:
- Check HTTP call logs: - Was - /injectcalled successfully?
- Was the authorization token valid? 
- Were - workflowUuidand- executionUuidpopulated in slots?
 
Related resource
Last updated
Was this helpful?