Setup

Assistants as code lets you manage assistant settings, prompts, functions, and workflows in a GitHub repository. Pushes to the repository's default branch sync the configuration to Neuroline. In the dashboard, this feature is called Infrastructure-as-code.

Each organization can connect one repository, which can contain multiple assistants. A repository can be shared by multiple organizations.

1. Connect your repository

You need an owner or admin role in your Neuroline organization and write or admin access to the GitHub repository. The Neuroline GitHub App must be installed with access to that repository. The app reads repository contents; it does not need permission to write files.

  1. Open Organization → Infrastructure-as-code in the dashboard.
  2. Select Connect GitHub and authorize GitHub.
  3. If needed, install the app and grant access to your repository.
  4. Choose the GitHub account and repository, then select Connect & sync.

If your repository is missing from the list, select Manage GitHub access, grant access, and refresh the list after approval. If your organization uses SAML SSO, start an SSO session on GitHub before authorizing.

2. Add your configuration

Follow Assistants to create an assistant directory and its config.yaml. Add the required base.md and default.md files described in Prompts. Functions and workflows are optional.

3. Push, sync, and test

Commit these files and push them to the repository's default branch, then the configuration syncs automatically. You can also select Sync now in the dashboard. Feature-branch pushes and unmerged pull requests do not update assistants.

After a successful sync, the dashboard shows your imported assistants and the last successful commit. Each sync reads all files from one current default-branch commit and validates the whole repository before importing it. An invalid configuration leaves the previous successful configuration running. If a sync fails, read the error in the dashboard, correct the configuration, and push again or select Sync now.

Open your assistant in the dashboard and assign an inbound phone number to test it. Call that number and check its responses against your configuration. Phone assignments remain managed in the dashboard.

4. Make changes

Edit your assistant's configuration or prompts in the repository, commit, and push to the default branch. Check the successful commit in the dashboard, then make a new call to test the changes.

GitHub-managed fields are read-only in the dashboard and replaced on each sync.

To restore an earlier configuration, revert the changes in Git and push to the default branch. This does not undo bookings, messages, or other actions already performed.

When updates apply

New calls use the updated configuration. Calls already in progress keep their workflow configuration. Integration functions needed by those calls remain available until the calls end.

Connected repositories are also checked every 15 minutes to recover missed webhook deliveries. Overlapping sync requests are combined, and an already imported commit is skipped. Background syncs use the app installation and do not depend on your GitHub authorization session staying active.

Import limits

LimitMaximum
Assistants in one repository import20
Assistant directory identities retained by a connection, including removed assistants100
Workflows per assistant12
Steps per assistant, across all workflows24
Assistant-level functions16
Functions per step, including transitions17
FAQ entries per assistant100
Characters per Markdown prompt100,000
Configuration size512,000 bytes for files read and for the generated import payload
Generated records per import2,000, including assistants, FAQs, workflows, steps, and functions

Unrelated repository files do not count toward the configuration size. A repository whose GitHub file tree cannot be read completely is rejected.

Disconnecting

Select Disconnect and delete assistants to stop GitHub updates and permanently delete the repository's assistants, including those marked as removed from the repository. Their configuration, knowledge, workflows, and integration connections are deleted, and linked phone numbers are unassigned.

Disconnecting affects only the current organization. Other organizations connected to the same repository keep their assistants and continue syncing.

Further pushes cannot reconnect a disconnected organization. An authorized user must select the repository again. Reconnecting creates new repository assistants. Set up phone assignments and integration connections again before putting those assistants into use.

Uninstalling the GitHub App, suspending it, or removing its repository access stops imports and reports an access error. It retains the last configuration; only an explicit dashboard disconnect deletes the assistants.

On this page