Skip to main content
Triggers fire a prompt or propose an action when a specific event occurs. They are the reactive counterpart to schedules — instead of running on a timer, they respond to changes as they happen.

Supported events

EventFires when
blocker.addedA new blocker memory is created
commitment.overdueA commitment passes its due date
commitment.staleA commitment has no activity for 7+ days
integration.sync_completeAn integration finishes syncing
memory.createdAny new memory is saved

Creating a trigger

Ask your AI client to create one using natural language:
“3ngram: Create a trigger called overdue-alert that fires when a commitment becomes overdue”
“3ngram: Create a trigger called sync-digest that runs my weekly-summary prompt after each integration sync”

Parameters

ParameterRequiredDescription
nameYesLowercase, alphanumeric/hyphens/underscores, 1-63 chars
event_typeYesOne of the supported events above
filter_jsonNoJSON object for event filtering (see below)
prompt_idNoUUID of a custom prompt to evaluate when triggered
context_templateNoTemplate text for context assembly

Filtering events

Use filter_json to narrow which events match a trigger. All filter keys must match the event data for the trigger to fire. Only commitments:
{ "memory_type": "commitment" }
Only a specific project:
{ "project": "engram" }
Combined — work commitments only:
{ "memory_type": "commitment", "scope": "work" }
Filters are evaluated with AND logic. Every key in the filter must match the corresponding field on the event payload.

Triggers and actions

When a trigger fires, it can propose an action such as posting a GitHub comment, closing a Linear issue, or sending a notification. Proposed actions go through an approve/reject pipeline so nothing runs without your sign-off. See Agent Actions for the full approval workflow.

Managing triggers

List triggers

“3ngram: Show my triggers”
You can filter the list by event type:
“3ngram: Show my triggers for commitment.overdue events”

Update a trigger

You can change enabled, prompt_id, and context_template on an existing trigger.
“3ngram: Update my overdue-alert trigger to use the daily-summary prompt”
“3ngram: Disable my overdue-alert trigger”
Event type and filter are immutable after creation. Delete and recreate the trigger to change them.

Delete a trigger

“3ngram: Delete the overdue-alert trigger”
Triggers require a paid subscription. Event type and filter cannot be changed after creation — delete and recreate to modify them.