Skip to main content

Pre-Process

A Pre-Process Skill is able to observe or change a user's input before it reaches the Base Conversation or any other Skills.

The Skill should handle an ExecuteRequest, observe it, optionally modify it, and then respond with the same or modified ExecuteRequest to be forwarded to the Base Conversation or other Skills.

Common use cases

A Pre-Process Skill may observe or modify an ExecuteRequest, which enables the following use cases:

  • Data Collection to analyse user input data.

Implementation requirements

Implementation requirements for a Pre-Process Skill:

  • It must consider speed, as it will be executed synchronously for every user input.
  • It must respond with a valid ExecuteRequest.
  • It may intercept and cancel an ExecuteRequest by responding with a NO_MATCH, preventing any further response from other Skills.

Creating a Pre-Process Skill

Pre-Process Skills must be created programmatically using the Skill SDK.

Registering a Pre-Process Skill

skill-definition.json
{
"name": "My Skill",
"summary": "skill summary here",
"description": "",
// ... other skill properties
"config": {
"skillType": "PRE_PROCESS"
}
}