The lua integrations command enables you to connect your agent to third-party services like Linear, Discord, Google Calendar, HubSpot, and 250+ other integrations via Unified.to. When you connect an integration:
An MCP server is automatically created to expose tools to your agent
Triggers can be set up to wake up your agent when events occur in the connected service
lua integrations # Interactive modelua integrations connect # Connect a new integrationlua integrations list # List connected integrationslua integrations available # View available integrationslua integrations info <type> # View integration details (scopes, triggers)lua integrations disconnect # Disconnect an integrationlua integrations update # Update connection scopeslua integrations webhooks # Manage triggers (webhook subscriptions)lua integrations mcp # Manage MCP servers for connections# Triggers shortcut (alias for lua integrations webhooks)lua triggers # Interactive trigger managementlua triggers list # List all triggerslua triggers create # Create a new triggerlua triggers pause # Pause a trigger or all triggers for a connectionlua triggers resume # Resume a trigger or all triggers for a connectionlua triggers delete # Delete a trigger
Limit: Only 1 connection per integration type is allowed per agent. To change scopes, use lua integrations update.
Connect: Authenticate with a third-party service via OAuth or API token
Auto-MCP: An MCP server is automatically created and activated for the connection
Agent Access: Your agent can now use tools from that integration (e.g., create Linear issues, send Discord messages)
Triggers (optional): Set up event-driven triggers to wake up your agent when things happen (e.g., a task is created, a message is received). Triggers are opt-in — you can skip them at connect and add them later.
Connect a new third-party integration with optional triggers.
# Interactive mode (recommended for first-time setup)lua integrations connect# Non-interactive: connect Linear with OAuth and all scopeslua integrations connect --integration linear --auth-method oauth --scopes all# Connect with triggers enabled (agent wakes up on events)lua integrations connect --integration linear --auth-method oauth --scopes all \ --triggers task_task.created,task_task.updated# Connect with all available triggerslua integrations connect --integration linear --auth-method oauth --scopes all --triggers all# Use a custom webhook URL instead of agent triggerlua integrations connect --integration linear --auth-method oauth --scopes all \ --triggers task_task.created --custom-webhook --hook-url https://my-server.com/webhook# Specify specific scopeslua integrations connect --integration linear --auth-method oauth --scopes "task_task_read,task_task_write"# Use API token authenticationlua integrations connect --integration linear --auth-method token# Control sensitive data visibilitylua integrations connect --integration discord --auth-method oauth --scopes all --hide-sensitive false
What happens:
CLI fetches available integrations
You select or specify an integration and auth method
Browser opens for OAuth authorization (or you enter API credentials)
Connection is established and stored
MCP server is automatically created and activated
In interactive mode, you’re asked whether to configure triggers now (opt-in, default: skip). If triggers are specified via --triggers, they are created immediately.
Triggers are opt-in: The interactive flow asks “Do you want to configure triggers now?” and defaults to skip — add only what you actually need. You can always add triggers later with lua triggers create. When using --triggers non-interactively, triggers are created immediately.
View detailed information about an integration type, including available OAuth scopes and triggers. This is useful for discovering what’s available before connecting.
# View integration detailslua integrations info linear# Output as JSON (for scripting/AI agents)lua integrations info linear --json
Output:
============================================================📋 Integration Info: Linear============================================================🔑 OAuth Scopes: ✓ task_task_read Manage and view issues in Linear ✓ task_task_write Create and update issues in Linear ✓ task_project_read View projects in Linear ...⚡ Available Triggers: • task_task.created [virtual, 60min interval] A new issue was created in Linear • task_task.updated [virtual, 60min interval] An issue was updated in Linear • task_task.deleted [virtual, 60min interval] An issue was deleted in Linear • task_comment.created [virtual, 60min interval] A new comment was added to an issue ...============================================================
Friendly Labels: Scopes and triggers display user-friendly descriptions (e.g., “A new issue was created in Linear” instead of “task_task.created”) to help non-technical users understand what each option does.
Update an existing connection’s OAuth scopes. This re-authorizes the connection with new permissions.
# Interactive modelua integrations update# Non-interactive: update Linear with all scopeslua integrations update --integration linear --scopes all# Specific scopeslua integrations update --integration linear --scopes "task_task_read,task_task_write,task_project_read"
Update deletes the old connection and creates a new one with updated scopes. You’ll need to re-authorize in the browser.
Manage triggers (webhook subscriptions) for connected integrations. Triggers let your agent receive events when things happen in connected services (e.g., task created, message received).
list
events
create
delete
pause
resume
List all triggers:
lua integrations webhooks list# Output as JSON for scriptinglua integrations webhooks list --json
Webhook IDs are displayed for each trigger, making it easy to reference them for pause/resume/delete operations.
List available trigger events for an integration:
# By integration type (before connecting)lua integrations webhooks events --integration linear# By connection ID (after connecting)lua integrations webhooks events --connection abc123# As JSON for scriptinglua integrations webhooks events --integration linear --json
Output:
⚡ Available Trigger Events for linear──────────────────────────────────────────────────────────────────────────────── • task_task.created [virtual] A new issue was created in Linear • task_task.updated [virtual] An issue was updated in Linear • task_task.deleted [virtual] An issue was deleted in Linear • task_comment.created [virtual] A new comment was added to an issue────────────────────────────────────────────────────────────────────────────────
Pause a single trigger or all triggers for a connection. The connection and MCP server remain active — only event delivery is paused.
# Pause a single trigger (interactive: choose from list)lua integrations webhooks pause# Pause a specific trigger by IDlua integrations webhooks pause --webhook-id wh_abc123# Pause a specific trigger with a reasonlua integrations webhooks pause --webhook-id wh_abc123 --reason "Maintenance window"# Pause ALL triggers for a connectionlua integrations webhooks pause --connection-id 6978e0294d9c2007ed5cb129
Pausing a trigger is different from deleting it. The subscription is preserved and can be resumed at any time. Credit-suspended triggers cannot be paused/resumed by users — add credits to re-enable them.
Resume a paused trigger or all paused triggers for a connection.
# Resume a single trigger (interactive: choose from paused list)lua integrations webhooks resume# Resume a specific trigger by IDlua integrations webhooks resume --webhook-id wh_abc123# Resume ALL paused triggers for a connectionlua integrations webhooks resume --connection-id 6978e0294d9c2007ed5cb129
Credit-suspended triggers are skipped during resume — they require credits to be added to your account first.
Manage MCP servers for connections. MCP servers are automatically created when you connect an integration, but you can activate/deactivate them manually.
list
activate
deactivate
List connections with MCP server status:
lua integrations mcp list
Output:
────────────────────────────────────────────────────────────────────────────────🔌 MCP Servers for Connections──────────────────────────────────────────────────────────────────────────────── Connection: 6978e0294d9c2007ed5cb129 Integration: Linear MCP Server: linear Status: ✅ active────────────────────────────────────────────────────────────────────────────────
Use these to discover available options before connecting:
# List available integrationslua integrations available# Get integration details (scopes and triggers)lua integrations info linearlua integrations info linear --json# List available trigger eventslua integrations webhooks events --integration linearlua integrations webhooks events --integration linear --json
Triggers are a powerful way to make your agent reactive to external events. Instead of polling or manually checking for updates, your agent automatically wakes up when something happens.
# Connect Linear with trigger for new issueslua integrations connect --integration linear --auth-method oauth --scopes all \ --triggers task_task.created
When a new issue is created in Linear, your agent receives the event data and can:
Send a notification to Slack
Update a dashboard
Assign the issue to a team member
Any other action your agent is configured to perform
Triggers make your agent reactive to external events. They are opt-in — add only what you actually need:
# Add triggers after connecting (recommended: start with what you need)lua triggers create --connection abc123 --object task_task --event created# Or specify triggers at connect time (non-interactive)lua integrations connect --integration linear --auth-method oauth --scopes all \ --triggers task_task.created,task_task.updated# Pause a trigger temporarily (preserves subscription)lua triggers pause --webhook-id <id>lua triggers resume --webhook-id <id>
Your agent automatically wakes up when events occur — no polling required!
Discover Before Connecting
Use discovery commands to understand what’s available:
# See all integrationslua integrations available# Get detailed info about an integrationlua integrations info linear# See available trigger eventslua integrations webhooks events --integration linear
This is especially useful for AI coding assistants building agents programmatically.
Hide Sensitive Data
By default, --hide-sensitive true is enabled, which hides sensitive fields from MCP tool responses. Disable only if your agent needs access to sensitive data: