This glossary describes key terms and concepts for writing and managing Andi® skills.
Andi® User: A user with a login for the Andi® system.
Application: An external software system which engages in conversation with Andi®.
Application Owner: The organization which controls an application.
Application Tenant: An organization which comprises a set of application users.
Application User: A user of an application, belonging to an application tenant. An application user is not necessarily an Andi® user (most are not).
Channel: A particular communication mechanism for delivering engagements.
Code Package: A collection of files which implements a skill version.
Context: The area of the application that the skill will reference in response to an event to determine whether the skill should run.
Conversation: A bounded sequence of interactions between an application and Andi®, regarding a single topic.
- An application can start a conversation.
- An application can end a conversation.
Engagement: An informational message or potential action sent to a user by a skill. A field tag is an example of an engagement.
Enrichment: The process by which inbound events are augmented with additional information which is relevant to the skills in the conversation.
- An enricher appends a particular set of additional data to events. For example, a Natural Language Understanding enricher adds possible intents and entities.
Event: An inbound message which is a notification that something has happened regarding the current topic. Events should be given past-tense names to indicate something which has already happened.
Inbound Message: A discrete piece of information sent from an application to Andi® within a conversation. An inbound message consists of metadata and payload.
- An application sends messages to Andi® within a conversation.
Integrated Development Environment (IDE): An application for software development that typically consists of a code editor, build automation tools, and a debugger as an all-in-one programming tool. Microsoft's Visual Studio Code is the IDE used to build Andi® skills.
Manifest: A file within a code package containing descriptive information about the skill version.
Metadata: Data about an inbound message, e.g. message type, time, user.
Organization: An autonomous group of Andi® users and application users, representing a company or business unit.
Payload: The core information defining the message. E.g. for a PriceChanged event, the payload might include the old price and the new price.
Power: A shared behavior which can be invoked by skills.
Publishing: The act of making a skill version available to other organizations. The specific behavior depends on the type of publish.
Query: An inbound message which is a request for some information regarding the current topic.
Refinement: The process by which Andi® examines the engagements created by one or more skill runs and decides which ones to send. Refinement occurs at the channel level.
Semi-Static Skill: A skill that returns static data, but where the skill author can make changes to the data without updating the skill itself.
Skill: A set of behaviors which run in response to events or queries.
- A skill listens for one or more messages.
- A skill targets an application.
- An organization installs a skill.
Skill Author: The Andi® user who uploaded a skill.
- Application Skill Author: A skill author who belongs to an organization which also the owner of the application targeted by the skill.
- Tenant Skill Author: A skill author who belongs to an organization which is a tenant of the application targeted by the skill.
- Third Party Skill Author: A skill author who belongs to an organization which is neither the owner nor a tenant of the application targeted by the skill.
Skill Enabling: The act of turning on a skill version for a workspace.
Skill Installation: The act of adding a skill to an organization's skillset.
Skill Owner: The organization which controls a skill, by virtue of the skill author belonging to the organization.
Skill Run: A single execution of a skill version in response to an inbound message.
Skill Version: A particular iteration of a skill. Skill versions are immutable; uploading a skill always creates a new version, and existing versions cannot be changed.
- An organization enables a skill version for a workspace.
Telemetry: Information collected about the utilization of skills and engagements within a conversation, e.g. SkillImpression count
Tenant: a client or organization
Workgroup: a group of application users within an organization which may have a distinct set of enabled skills.
- Default workgroups are Development, Testing, and Production.