Nolixan

Setting up triggers

Enable a trigger on a connection, filter it, and optionally fire a governed action.

A trigger is a trigger type from the catalog enabled on one of your connections.

1. Pick a trigger type

GET /api/v1/triggers/types?provider=github

Each type tells you its delivery (webhook or poll), its config_schema (the filters you can set), and its payload_schema.

2. Enable it on a connection

POST /api/v1/triggers
API-Key: sk_...
 
{
  "provider_config_key": "github",
  "connection_id": "acme",
  "trigger_type": "new-star",
  "config": { "repo": "octocat/hello" }
}

The config values filter which events fire (here, only stars on octocat/hello).

From an SDK:

await client.triggers.enable({
  providerConfigKey: 'github',
  connectionId: 'acme',
  triggerType: 'new-star',
  config: { repo: 'octocat/hello' },
});

Or the CLI:

nolixan triggers enable github acme new-star -c repo=octocat/hello

3. (Optional) fire a governed action

Add a target action and an input mapping to act on each event. The action runs through the governed path — policy, approvals, and audit all apply:

{
  "provider_config_key": "github",
  "connection_id": "acme",
  "trigger_type": "new-star",
  "action_name": "slack/send-message",
  "action_connection_id": "team-workspace",
  "action_input_map": {
    "channel": "#alerts",
    "text": "New star from {{sender.login}} on {{repository.full_name}}"
  }
}

{{path}} templates are resolved against the event payload. If a policy denies the action it's recorded as action_denied; if it requires approval it's held as action_approval.

4. Manage and inspect

GET    /api/v1/triggers                 # list
POST   /api/v1/triggers/{id}/pause      # pause / resume
DELETE /api/v1/triggers/{id}            # remove
GET    /api/v1/triggers/{id}/events     # fired events + action outcomes

You can manage all of this from the dashboard's Triggers page or the CLI (nolixan triggers list|pause|events).

On this page