# Basic Concepts

**Sherpa RPA Platform** — a platform designed for automating routine business processes using software robots.

**RPA (Robotic Process Automation)** — a technology for automating business processes that uses customizable software robots.

**Sherpa Robot** — a virtual employee trained to perform routine tasks in various information systems. Sherpa Assistant is used to manage robots on a local machine.

The term **"Robot"** has several definitions:

* a **software robot** is understood as a script in the form of a sequence of user actions, created in a visual development environment (Sherpa Designer) as a set of diagrams (flowcharts) and then executed in the agent program (Sherpa Robot).
* a **Robot** is a completed project that has been published, meaning it is packaged into a single launch file with the extension ".robot". Ready Robot files must be saved in the "MyRobots" folder for execution using the agent program. They can also be transferred to another computer or run on remote computers using the Orchestrator.
* a **Robot** is an agent program that is installed on computers and executes scripts.
* a **software robot** is a program capable of performing standard and repetitive operations that are usually performed by employees using a keyboard, screen, and mouse. The Sherpa software robot works with any systems on the computer through graphical and command interfaces or direct calls to applications (office and accounting, web resources, databases, email services, etc.), and also uses third-party technologies for image recognition (OCR - Optical Character Recognition), speech analysis and synthesis, artificial intelligence, and machine learning.

**Sherpa Assistant** — an agent program for executing projects created in Sherpa Designer. This application allows you to run, view the list, manage execution, and schedule business process execution.

**Sherpa Runtime** — the robot installer in the user account for use without the Designer.

**Sherpa Designer** — a visual development environment for software robots. This is where the business process script is created for execution by the robot.

**Block** — a separate action, a step in the business process. Each block is responsible for a unique functional action and has a set of properties (essentially settings) that define its behavior. Blocks are connected to each other with arrows, indicating that after one action, another will be performed.

**Block Properties** — properties that are set when creating a block and define its behavior.

**Variable** — a memory cell of the robot, a place for storing information needed during its operation. Depending on the type of variable, it can store numbers, text, tables, etc.

**Log** — a journal of the robot's work. Automatically, the log records errors as well as important warnings from Sherpa Designer.

**Library** — a collection of ready-made standard sets of blocks, pre-installed templates for popular actions in various programs. The library provides the ability to create and save your own templates for use in current or future automation projects.

**Diagram** — a sequence of user actions that automates a specific business process. A diagram consists of a sequence of blocks and represents a flowchart of the process execution. Diagrams are saved as files with the ".process" extension.

**Project** — a collection of diagram files, one of which is designated as the main one. Typically, a project consists of one main and several auxiliary diagrams (subprocesses). A project can consist of only one main diagram. Projects are saved as files with the ".sherpa" extension.

**Sherpa IDP** — a template creation tool (visual editor) and an integral part of the Sherpa RPA Designer. The template creator is not tied to any cloud services and is included in the package.

**OCR Module** — an optical recognition module for obtaining a text fragment from a screenshot, photo, or image.

**Embedding** — the process or result of the process of converting a linguistic entity (word, sentence, paragraph, or entire text) into a set of numbers – a numerical vector. Embeddings are used in machine learning for various tasks, such as improving search quality, natural language processing, and computer vision.

**Sherpa Orchestrator** — a tool for centralized connection and management of software robots created on the Sherpa RPA platform. It manages robots, determines their status, assigns different tasks to different robots, organizes task execution queues, and monitors their execution.

**Screen** — a part of the Orchestrator interface. Each screen within the Orchestrator represents a set of settings for organizing the work of robots.

**Attended Robots** — robots that are manually launched on the user's computer, from autostart, by keyboard shortcut, or on a schedule from the Windows Task Scheduler.

**Unattended Robots** — robots that are launched by the coordinator. The coordinator starts robots if there is work for them on the "Jobs" screen. A job can be created manually, by trigger, or via API.

**Coordinator** — a service installed under the RDP server (terminal server) Administrator account to launch Unattended Robots, if necessary, for automatic login to robot accounts. For Attended Robots, specifying a coordinator is not required.

**Process** — a robotization script that is executed by robots.

**Package** — blocks and palettes created by the user using the "Package Manager" tool in Sherpa Designer.

**Resources** — a list of objects available to all robots, a group of robots, or a specific robot. Supported resource types: text (text string), credentials (login-password pair), and calendar.

**Job** — a combination of a robot and a process, or a robot, process, and task.

**Task** — a set of parameters in the form of Parameter-Value pairs (Key-Value) that can instruct the robot on what exactly it needs to do within the process execution.

**Actions** — individual workspaces within the Orchestrator, created using the "Actions" screen; also, within this screen, actions for tasks in the queue can be created, as well as a form for task execution.

**Trigger** — a tool that allows automatically creating jobs based on specified conditions, which are then passed to robots for processing.

**Accounts** — separate spaces within the Orchestrator, each with its own set of jobs, processes, resources, robots, queues, and users. Accounts are completely isolated from each other: regarding robots, processes, and other objects.

**Users** — workspaces created within an account. Each user is assigned a specific role or multiple roles.

**Role** — a parameter that defines the set of access rights to the Orchestrator screens, as well as functions within the selected screens.

**Audit** — a screen in the Orchestrator that presents a list of messages about events that occurred within the Orchestrator.

**License (license key)** — issued by vendors for client companies. Licenses define the number and type of robots for which jobs can be launched by the Orchestrator. A robot can use either a local license (stored on the computer where the robot itself is installed) or a license from the Orchestrator. Licenses of both Attended and Unattended types can be added to the Orchestrator.

**Sherpa Explorer** — a tool for manually selecting and testing selectors. In it, as in a regular selector editor, you can interactively record any element, as well as explore the hierarchical tree of any desktop and web application, its available attributes, and select and test the desired combination of attributes.

**Sherpa Regex** — a tool for working with regular expressions. It provides convenient means for composing and testing regular expressions. The tool separates different groups of expressions to facilitate the selection of the appropriate pattern. Additionally, Sherpa Regex includes a smart assistant capable of composing a regular expression according to the user's request.

**Debugging** — executing a script with the Designer's debugger connected. It allows you to perform actions step by step, stop at breakpoints, and view the current values of variables. Debugging can be both local and remote.

**Selector (web selector)** — an identifier for a user interface element.

**Breakpoint** — a point set on a block in the Designer, at which debugging is paused when reached.
