Customers with dedicated Koji instances can develop new integration scenarios using the SDK, a software development kit. This page helps you understand which tools you can use and where to start.
Workflow
Concept
Workflow is a dialog model that allows users to go through a dialog using the predefined scheme. This is a tool that helps you design conversations.
With workflows you can ask users questions and keep the received answers, perform actions, such as ticket creation, or running search in a knowledge base. Create scenarios that involve knowledge base resourced, conversations (including asking questions, clarifications, and so on), and external integrations.
To learn more about the workflow concept, its usage, and view the reference materials (including help pages on nodes), see the Workflow chapter in the documentation. It is available on your instance (substitute <yourinstance>
with the actual name of your host): https://<yourinstance>.konverso.ai/doc/Workflow_781451265.html
Nodes
Nodes are the building blocks of a workflow. There are many types of nodes: search nodes, interaction nodes, AI nodes, and so on. Each type has its own purpose.
In particular, there are two nodes that can be extremely useful when you create integration scenarios. These nodes are Web service and Call function.
Web service node
This node sends a request to a web service, obtains, and parses the returned result. Use Web service node to leverage JSM REST APIs and integrate Jira Service Management with Koji.
To learn more about this node usage and view the sample, see the Web service node and APIs page.
For more info on JSM REST APIs functionality, visit the Atlassian Developer REST API portal.
Call function node
The Call function node is used for calling Python functions in your workflows.
There are nodes and built-in functions for you to implement in your workflows, but you can build custom Python utilities as well. A set of libraries make it possible to interact with users, invoke requests on external systems, and return results.
To implement custom Python code, use editable files. They allow you to add your own code into Koji in order to use it in Call function node, for example.
To learn more about this functionality, see the Call function node and custom utilities page.
Custom Python callbacks
Intent in Kbot is the primary logical unit of a conversation. Basically, the main idea of a conversation processing is extracting an intent and delivering a corresponding response to a user. Intents can have Python callbacks defined as their response.
This Python code allows you to run any kind of interaction with users, send requests to external systems, and eventually end the intent with particular return code (completed, failed, etc.).
To implement custom Python code, use editable files. They allow you to add your own code into Koji in order to use it in callbacks, for example.
To learn more about callbacks, see the Custom Python callbacks page.