Repository Organization#

Understanding the organizational structure of your Artificial Repository

Every Artificial Customer has one or more GitHub repositories that contain the code for their Adapters and Workflows. Artificial creates these repositories, and Artificial Customers are given access to these repositories using GitHub IDs that are tied to their work email address.

Top Level#


This structure is an example of a potential structure and may change. This will be reviewed during your Workflows Training sessions.

There are 4 top-level items within a Repository that are important to understand:


The top-level folder for hosting the Adapter python files


The top-level folder for hosting the Workflow files


The top level folder containing configuration for the adapter and connecting to artificial.

The top level README for orienting new developers to the Adapter and Workflow. This content will show up when browsing the Repository on GitHub, so it should be kept up to date and provide an overview of the Adapter and associated Workflows.


Contains information for the dependencies of the project

There are also a number of other files at the root of the Repository that exist for Git, VSCode, the Dev Container, Docker, and various Python tooling. These can be safely ignored to start with.

/workflow Contents#

The contents of this folder are completely at the discretion of the SDK author. However, this will detail the most commonly found patterns used.

Defines the Python methods that invoke Actions in the Adapter and their associated Input and Output Parameters.

Defines the Python methods that invoke Assistants and their associated Input and Output Parameters


This file defines the Workflow itself. It is written in Orchestration Python. This file is provided a name that is specific to the Workflow.

/config Contents#

Config must follow the pattern specified by Artificial.


File to specify which config is currently loaded


Folder to hold a configuration context


File specifying adapter configuration settings


File for configuration that should remain outside of source code control, like tokens, passwords, etc.