Overview
Triggerware is a virtual database engine that lets you query any data source — APIs, SaaS platforms, databases, files — using standard SQL. Instead of building ETL pipelines to move data into a central warehouse, Triggerware exposes external systems as virtual tables through pluggable connectors. A single query can join data across (thing1), (thing2), (thing3) and more with no data movement required.
Triggerware runs as a Docker container and communicates over JSON-RPC. You interact with it through our client libraries, the CLI, or the raw JSON-RPC API.
Why Triggerware?
Section titled “Why Triggerware?”-
Cross-source joins with no ETL. Query across your entire tool stack in one SQL statement. No warehouse, no pipelines, no syncing schedules.
-
Reactive by default. Subscribe to multi-system conditions and get notified when they become true. Polled queries re-run on a schedule and report deltas — no webhook plumbing required.
-
Built for AI agents. Triggerware ships as an MCP server (soon), giving LLM agents a single tool call to query across all your connected systems.
-
Connectors for everything. Each connector exposes an external service as virtual tables. Install the ones you need and start querying immediately.
Getting Started
Section titled “Getting Started”Prerequisites
Section titled “Prerequisites”- Docker installed and running
- A Triggerware account (do you need this?)
Install the CLI
Section titled “Install the CLI”The Triggerware CLI manages your local instance and connector configuration. Install it (somehow):
install it somehow?For full CLI usage, see the CLI reference.
Start Triggerware
Section titled “Start Triggerware”triggerware startThis starts the Triggerware container in the background. By default it listens on port 5221 for JSON-RPC connections.
Install a connector
Section titled “Install a connector”Connectors expose external data as virtual tables. Activate a pre-installed one to start querying:
triggerware activate-connector x_posts_by_user api_key=oeuOnce configured, the connector’s tables are immediately available for queries.
Quick Example
Section titled “Quick Example”Create a Python virtual environment and install the client:
pip install triggerwareThen run your first cross-source query as a python script:
from triggerware import TriggerwareClient
client = await TriggerwareClient()
results = await client.execute_query(""" SELECT c.name, t.subject, t.status FROM salesforce_contacts c JOIN zendesk_tickets t ON c.email = t.requester_email WHERE t.status = 'open' AND t.age_hours > 48""")
for row in results: print(row)MCP Server
Section titled “MCP Server”Triggerware ships with a Model Context Protocol server, letting AI agents query all your connected data sources in a single tool call.
Add Triggerware to your MCP client configuration:
{ "mcpServers": { "triggerware": { "command": "triggerware", "args": [ "mcp" ] } }}Once connected, an agent can issue SQL queries against any of your installed connectors through standard MCP tool use.
Learn more about the MCP server and available tools in the MCP documentation.
Client Libraries
Section titled “Client Libraries”For production use, our client libraries handle connection management, authentication, result pagination, and error recovery.
| Language | Package |
|---|---|
| Python | triggerware |
| Go | triggerware |
If you prefer to work at a lower level, the full JSON-RPC API reference documents every method, parameter, and response type.
Next Steps
Section titled “Next Steps”- Connectors → Browse available connectors and learn to build your own (need this ASAP).
- JSON-RPC API → Full API reference for direct integration.
- CLI Reference → All CLI commands and configuration options.