For the complete documentation index, see llms.txt. This page is also available as Markdown.

AI Copilot

AI Copilot is an assistant built into the Appmixer Designer that builds, edits and explains flows from natural language. Ask it to "Create a flow that posts new Typeform responses to Slack" and it designs the flow directly on the canvas — selecting connectors, wiring components, and filling in parameters.

Copilot can:

  • Build new flows from a natural-language description.

  • Edit existing flows — add, replace or remap components in the open flow. For running flows, Copilot works on a draft so the live flow keeps running unchanged.

  • Explain flows — describe what an existing flow does, step by step.

Enabling Copilot

Copilot ships as a system plugin of the Appmixer engine. It is loaded when it is listed in the SYSTEM_PLUGINS environment variable and an LLM API key is configured:

Additional configuration:

Environment Variable
Default
Description

COPILOT_LLM_PROVIDER

anthropic

LLM provider.

COPILOT_LLM_API_KEY

(unset)

LLM provider API key. The plugin is skipped when no API key is set.

COPILOT_LLM_MODEL

claude-sonnet-4-6

LLM model used by the assistant.

COPILOT_MAX_TOKENS

16384

Maximum tokens per LLM response.

COPILOT_MAX_TURNS

25

Maximum agent turns per chat request.

COPILOT_CONVERSATION_TTL

3600000

How long (ms) a conversation is retained on the server.

COPILOT_PRICING_PATH

(unset)

Optional path to a custom model pricing JSON file used for cost computation in the usage API.

When the plugin is not enabled, the Copilot button is automatically hidden in the Designer.

Using Copilot in the Designer

Open a flow in the Designer and click the Copilot button to open the chat panel. Type what you want to build or change. Copilot streams its progress, and when it produces a flow, the canvas is updated and reloaded.

  • The conversation is retained per flow for the duration of your session, and restored when you re-open the panel.

  • Replies are rendered as Markdown.

  • The panel is resizable — drag its edge to change the width, or double-click the resize handle to reset it to the default width.

  • When editing a running flow, Copilot's changes are applied to a draft — publish the draft to apply them (see Flow Versioning).

Designer widget options

When embedding the Designer via the Appmixer UI SDK, the Copilot panel can be configured with the options.copilot object:

Monitoring AI Usage

The Insights menu in Appmixer Studio contains two sections:

  • Flow activity — the flow execution logs (previously the "Insights" page).

  • AI usage — Copilot consumption and cost monitoring. This section is visible to administrators only.

The AI usage page shows:

  • Summary cards with the total spend, the number of requests and the total tokens consumed in the selected period, including an input/output token breakdown.

  • Daily consumption for the selected month.

  • A paged breakdown table grouped by user, group or scope, with free-text search. Expanding a row drills down into the individual LLM requests (or the users within a group/scope), also paged.

The page is backed by the usage API described below.

Copilot API

All Copilot endpoints live under the /system-plugins/copilot prefix and require a valid access token.

Chat

POST https://api.YOUR_TENANT.appmixer.cloud/system-plugins/copilot/chat

Send a chat message. The response is a Server-Sent Events (SSE) stream.

Request Body

Name
Type
Description

message*

string

The user's message.

threadId

string

Conversation thread ID. Omit to start a new conversation (a new ID is generated and returned in the connected event).

flowId

string

Optional ID of the flow to give Copilot as context, enabling editing/explaining of that flow.

SSE events

connected (carries the threadId), text-delta (streamed assistant text), tool-call / tool-result / tool-error (progress of the assistant's tool use), flow-result (the generated flow descriptor with flowName and optional followUpQuestions), done (carries token usage) and error.

Get Conversation

GET https://api.YOUR_TENANT.appmixer.cloud/system-plugins/copilot/conversations/:threadId

Return the transcript of a prior conversation ({ threadId, messages: [{ role, content }] }). Users can only read their own threads. Returns an empty message list once the conversation TTL has lapsed.

Enabled Check

GET https://api.YOUR_TENANT.appmixer.cloud/system-plugins/copilot/enabled

Returns { "enabled": true } when the Copilot plugin is loaded. Clients use this to decide whether to show Copilot UI.

Usage

GET https://api.YOUR_TENANT.appmixer.cloud/system-plugins/copilot/usage

Aggregated LLM usage and cost. Admin only.

Query Parameters

Name
Type
Description

from

string

Start of the period (ISO date). Defaults to the start of the current month.

to

string

End of the period (ISO date). Defaults to now.

groupBy

string

user (default), group or scope.

user

string

Filter by user ID.

group

string

Filter by group ID.

scope

string

Filter by scope.

q

string

Free-text filter.

offset

number

Optional paging offset. Omit both offset and limit to return the complete result set.

limit

number

Optional page size (must be a positive integer).

Response

The response contains the aggregated rows for the requested page, a totalCount with the number of rows in the whole filtered set, and totals that are always computed over the full filtered set — a paged response still describes the whole reporting window, not just the page. Rows are ordered deterministically (request count descending), so pages are stable across requests. When grouping by group or scope, each row also contains a per-user breakdown.

Cost is computed from the model pricing table (see COPILOT_PRICING_PATH). Requests made with models that have no pricing entry do not add to the cost — they are reported with their token counts but priced as zero.

Daily Usage

GET https://api.YOUR_TENANT.appmixer.cloud/system-plugins/copilot/usage/daily

Daily consumption totals for a month (month=YYYY-MM, defaults to the current month; optional user, group, scope filters). Admin only.

User Usage

GET https://api.YOUR_TENANT.appmixer.cloud/system-plugins/copilot/usage/user/:userId

Individual LLM request breakdown for a user (optional from/to). Admins can view any user; non-admin users can only view their own usage.

Supports the same optional offset/limit paging parameters as the Usage endpoint and returns a totalCount alongside the request rows. Omitting offset and limit returns the complete list. Rows are ordered by timestamp, newest first.

Last updated

Was this helpful?