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.Output
Exit codes
See also
- Connect an integration — the how-to, scope by scope
- Integration events — what an integration webhook delivers to the agent
- Integration MCP servers — the tools a connection provisions
Integrations—Integrations.passthroughfrom codelua triggers— the agent’s own paste-anywhere triggers, a different command

