Syncing and changes

Understand imports, configuration ownership, failed syncs, renames, and disconnecting.

A successful sync replaces the complete configuration managed by GitHub for every assistant in the repository. Neuroline validates and imports the whole repository together. An invalid configuration leaves the previous successful configuration running.

When updates apply

Pushes to the repository's default branch trigger a sync. A sync reads all files from one current default-branch commit, so a configuration never mixes files from different commits. Feature-branch pushes and unmerged pull requests do not update assistants.

If several organizations connect the same repository, each syncs independently. A failed sync in one organization does not block the others. For shared configuration, omit explicit integration bindingId values so each assistant uses its own integration connection.

The dashboard shows sync status, the last successful commit, and any error. Sync now requests an immediate sync. Connected repositories are also checked every 15 minutes to recover missed webhook deliveries. Overlapping requests are combined, and an already imported commit is skipped.

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.

Configuration ownership

Managed in GitHubManaged or retained in the dashboard
Assistant name, spoken name, type at creation, languages, timezone, and silence timeoutsAssistant identity and phone assignments
Base, default, and step promptsHuman transfer settings and SMS sender settings
Opening messages and FAQIntegration connections and credentials
Functions, workflows, and stepsCall history

GitHub-managed fields are read-only in the dashboard while the repository is connected. Each import replaces those fields completely: removing an optional functions.yaml, workflows/, or FAQ entry removes it from the next imported configuration. Integration connections themselves remain in place.

Rename or remove an assistant

The root directory name identifies an assistant across imports.

ChangeResult
Edit name in the same directoryUpdate the display name and keep the assistant's identity.
Add a new assistant directoryCreate a new assistant. Assign phone numbers and connect integrations for it in the dashboard.
Rename an assistant directoryCreate a new assistant and mark the previous one as removed from the repository. Phone assignments stay with the previous assistant.
Delete the directory or its config.yamlKeep the last configuration and mark the assistant as removed. Assigned phone numbers continue to work.
Restore the same directory while still connectedUpdate the retained assistant and clear its removed status.
Change an existing assistant's typeReject the import. Use a new directory for a different inbound/outbound type.

Renaming workflow or step directories requires updating their references in the same commit. Use workflow directory keys and step directory keys, including numeric prefixes.

Fix a failed sync

Open the repository connection in the dashboard and read the error. Correct the configuration on the default branch and select Sync now, or let the next push trigger a retry.

Error or symptomCheck
Required file is missingEach assistant needs config.yaml, base.md, and default.md; each step needs functions.yaml and prompt.md.
Invalid YAML or unknown settingsUse the documented field names and YAML types. Function files must be arrays, with [] for no functions.
Missing workflow or invalid transitionMatch exact directory names and keep references within their assistant or workflow.
Duplicate function nameCheck the step's functions together with assistant-level functions.
Integration connection unavailableConnect the provider to this assistant, check its status, and confirm the action and argument structure.
Verification or App access errorFollow Authentication.
Commit has not changed in the dashboardConfirm the change is on the default branch, request a sync, and inspect any error.

To restore an earlier configuration, revert the relevant Git changes and push that revert as a new default-branch commit. A revert restores configuration; it does not undo bookings, SMS messages, or other actions already performed.

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.

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.

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, languages, FAQ localizations, 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.

On this page