Automation Tools
Overview
Similar to how Moveworks for IT works with ITSMs, Creator Studio pairs with automation tools. Creator Studio can connect to ANY automation tool that your teams already use.
You can create connectors with any tool with a REST API, but generally we see three main types of tools that facilitate connections between systems.
Types of Tools
iPaaS tools help different software systems talk to each other. It generally integrates with your business systems through APIs. It lets you manage triggers, actions, and control flow to create the integrations you need.
APIM tools help you host and manage APIs. They have similar capabilities to iPaaS tools. They allow you to host scripts as API endpoints & manage network policies to keep your APIs secure.
RPA tools help you integrate in the absence of APIs. Not all enterprise tools have (the right) APIs. When that happens, RPA tools fill the need. They can mimic human actions like clicking buttons & typing in tools, allowing your automations to use enteprise tools on behalf of your users.
iPaaS / APIM
iPaaSes & APIMs are generally both capable of exposing APIs that Moveworks can call. APIMs are generally more "pro-code" whereas iPaaSes are more "low-code / no-code".
Example Tools
APIM Tools
- Azure APIM + Azure Function Apps ( Offers 1M free requests / month )
- AWS API Gateway + EC2 Lambda Functions ( tutorial ) ( Offers 1M free requests / month )
- Google Cloud Functions ( Offers 2M free requests / month )
- Oracle Integration Cloud
- Heroku
- ServiceNow Scripted REST APIs
iPaaS Tools
- Power Automate ( tutorial ) ( Offers 90 day free trial )
- Workato APIM (Offers 100 free requests / month)
- ServiceNow Orchestration
- Mulesoft
- APIGEE Edge
Capabilities
Whichever tool you choose to use, it should have the following capabilities to maximize your potential with Creator Studio.
Trigger: Scheduling
❗️Required
Scheduling allows an automation job to be run every N hours / days. It can be used to set up weekly / daily reminders.
Trigger: Polling
This is a little more intensive than scheduling. To detect events in real-time, you need a poller that runs at a much higher frequency. Moveworks generally runs our pollers approximately every 10 seconds to ensure a real-time experience for end-users.
Trigger: Webhook
❗️Required
Webhooks from systems (either Moveworks or your internal systems) can be emitted to your automation tools, typically containing JSON payloads to be used in the context of your automation.
If this system is hosted on-prem, you should whitelist our IP addresses.
Trigger: Authenticated Webhook
This is the same as a "Webhook" trigger, but the webhook request is authenticated to ensure adequate protection of your services. This should use one of our authentication strategies we support on our API configuration page
Action: HTTP Calls
❗️Required
HTTP Calls enables API calls to external systems.
- It should generally support the same authentication strategies here .
- It should be able to parse payloads from JSON & XML-based APIs
Action: SQL Connections
SQL Connections make it possible to interact with SQL databases you may have internally.
Action: Value Transformation
❗️Required
Value Transformation makes it possible to convert user-friendly values to system-friendly values and vice-versa based on your use case. It should be possible to apply value transformations to each record in a list.
Initial Value | Final Value | Transformation Type |
---|---|---|
(123)-456-7890 | 1234567890 | Regex Extraction |
123 | 2h 3min | Arithmetic & String Formatting |
ACTIONANDADVNETURE | Action & Adventure | String Formatting |
2.4356 | 2.44 | Rounding |
Action: Value Aggregation
Value Aggregation lets you execute operations across lists of data
- Calculating a maximum
- Calculating a minimum
- Calculating a length of list
Control Flow: Iteration
❗️Required
Iteration, or looping, is the process of executing the same sequence of operations a certain number of times. This is essential in automation to process lists of data items.
- Loop through each item in a list and execute actions on them.
- Support for break and continue operations within the loop.
Control Flow: Conditional
❗️Required
Conditionals allow your automation to execute certain actions based on a set of conditions.
- Supports standard logical operators: equals, not equals, less than, greater than, etc.
- Nested conditions should be supported for complex decision-making.
Control Flow: Error Handling
❗️Required
Error Handling ensures that your automation processes gracefully in the face of unexpected issues.
- Catch errors or exceptions and decide on the next steps.
- Logging errors for debugging and improvement purposes.
- Supports retries on failed operations.
Control Flow: Chaining
❗️Required
Chaining is the capability to link multiple operations in a sequence, where the output of one becomes the input of the next.
Overall Behavior: Return JSON
❗️Required
Upon the conclusion of any automation, the system should have the capability to return a structured JSON response.
- The JSON should be configurable based on the desired output structure.
- Supports nesting and hierarchical data structures.
- Include status, messages, and data in the returned JSON for comprehensive feedback.
Overall Behavior: On-Prem Actions
If your organization uses on-prem systems, your tool should be able to integrate with On-Prem Agents so you can execute actions within your private cloud.
RPA
Example Tools
- UiPath
- Automation Anywhere
- BluePrism
Capabilities
Trigger: Scheduling
❗️Required (for Events)
Scheduling allows an automation job to be run every N hours / days. It can be used to setup weekly / daily reminders.
Trigger: Webhook
❗️Required
Webhooks from systems (either Moveworks or your internal systems) can be emitted to your automation tools, typically containing JSON payloads to be used in the context of your automation.
If this system is hosted on-prem, you should whitelist our IP addresses.
Trigger: Authenticated Webhook
This is the same as a "Webhook" trigger, but the webhook request is authenticated to ensure adequate protection of your services. This should use one of our authentication strategies we support on our API configuration page
Action: Login as user
❗️Required
"Login as user" is critical for RPA tools. Without this, it'll be impossible to mirror permissions & preserve the audit trail for applications without APIs
Action: Screen Interaction
❗️Required
Screen Interaction enables emulating keystrokes & mouse events with your business applications. This makes it possible to execute actions inside of these tools.
Action: Screen Scraping
❗️Required
Screen scraping makes it possible to extract information from the business application and convert it to structured data that can be returned over an API.
Control Flow: Error Handling
❗️Required
Error Handling ensures that your automation processes gracefully in the face of unexpected issues.
- Catch errors or exceptions and decide on the next steps.
- Logging errors for debugging and improvement purposes.
- Supports retries on failed operations.
Overall Behavior: Return JSON
❗️Required
Upon the conclusion of any automation, the system should have the capability to return a structured JSON response.
- The JSON should be configurable based on the desired output structure.
- Supports nesting and hierarchical data structures.
- Include status, messages, and data in the returned JSON for comprehensive feedback.
Overall Behavior: On-Prem Actions
If your organization uses on-prem systems, your tool should be able to integrate with On-Prem Agents so you can execute actions within your private cloud.
Overall Behavior: Unattended Automations
❗️Required
Unattended automations. Can be executed without a user's local browser open.