Skip to main content
lua integrations connects a third-party service to the agent through Unified.to. A connected integration provisions an MCP server of tools the model can call at once, and can subscribe the agent to the service’s events as integration webhooks. Verified against lua-cli 3.33.0.

Synopsis

Description

A connection belongs either to the agent (--scope agent, the default and the narrower grant: the credential lives on the agent and dies with it) or to you (--scope user: every private agent you own can use it, including ones you create later, and publishing an agent removes its access). Integration webhooks, --account-label and --hide-sensitive exist at agent scope only; connect refuses them with --scope user before anything else runs, and update --scope user ignores them. convert turns an agent connection into a personal one; there is no way back. At agent scope connect offers only types the agent doesn’t have yet (Integration "<type>" not found or already connected.), so a second account of one type is added as a personal connection with --scope user. connect and update always finish in the browser: the CLI opens the authorization URL (printing it when it cannot) and waits up to 5 minutes for the callback. connect prompts for every flag it needs when omitted, including --scope, so a --ci run must pass --scope, --integration, --auth-method (when the type supports both), --scopes (OAuth types with configurable scopes) and --account-label. update never asks for the scope: it acts on the agent unless you pass --scope user, and keeps the existing account label. Any other prompt under --ci fails with ✖ error: Interactive prompt required but --ci flag is set. Provide all required flags or arguments. (exit 1); the one exception is the trigger step of connect, whose prompts and validation are reported as ℹ️ Note: Could not fetch available triggers and skipped. --hide-sensitive hides PII fields from the MCP tools. Its default is false: fields are exposed unless you pass --hide-sensitive true, and non-interactive runs never ask. (The built-in --help text says the default is true; the command behaves as described here.) --json is honored by info, webhooks list and webhooks events; list prints text only.
Some failures print a line and still exit 0: an authorization that fails or times out, a failed disconnect or convert, an unknown id on disconnect, convert, webhooks delete, pause or resume, and mcp activate or deactivate without --connection or with an unknown one. Read the output, not only $?.

Arguments

Actions

Options

connect

update, convert, disconnect, list, info

webhooks

mcp

Examples

Discover a type, then connect it to the agent with every scope and two integration webhooks.
Connect as yourself so every private agent you own can use it.
List the agent’s connections.
Output
Subscribe an existing connection to an event, polling hourly, and later pause every webhook on it.
Re-authorize one account with new scopes, then remove it.

Exit codes

See also