create_trigger
Create Trigger ·writes · non-destructive · non-idempotent · closed-world
Create an event-driven agent trigger that fires on blocker.added, commitment.overdue,
commitment.stale, integration.sync_complete, or memory.created. For time-driven agents
use create_schedule instead.
Returns: str
Source: backend/src/engram/mcp/tools/triggers.py
Parameters
Trigger name (lowercase, alphanumeric/hyphens/underscores, 1-63 chars). Returned as the canonical handle in the response;
update_trigger / delete_trigger operate on name (no UUID is exposed).Event to listen for. One of: blocker.added, commitment.overdue, commitment.stale, integration.sync_complete, memory.created.
Optional JSON object (not list) for event filtering. Keys are matched against
event_data with exact scalar equality and explicit key presence (k in event_data and event_data[k] == v); a missing key fails the match even when the filter value is JSON null. An empty object {} matches every event of the configured event_type.Per-event event_data shape (the keys you can filter on):memory.created/blocker.added→{memory_id: int, topic: str, memory_type: str}Example single-key:{"memory_type": "commitment"}integration.sync_complete→{integration_id: str, provider: str, items_fetched: int, items_extracted: int}Example single-key:{"provider": "github"}Example multi-key (all must match):{"provider": "github", "items_extracted": 1}commitment.overdue/commitment.stale→{memory_id: int, topic: str}
docs/reference/mcp-patterns.md (section “Filter JSON shape for triggers”) for the canonical reference.Optional UUID of a user prompt to evaluate when triggered.
Optional template string for context assembly.
delete_trigger
Delete Trigger ·writes · destructive · idempotent · closed-world
Delete an agent trigger by name. Stops future event firings.
Returns: str
Source: backend/src/engram/mcp/tools/triggers.py
Parameters
Name of the trigger to delete.
get_trigger_history
Get Trigger History ·read-only · non-destructive · idempotent · closed-world
View recent event-evaluation history for agent triggers (from the pending_actions
table). Pass name=None to see all triggers.
Returns: str
Source: backend/src/engram/mcp/tools/triggers.py
Parameters
Optional trigger name to filter by.
Maximum results to return (default 10, max 50).
update_trigger
Update Trigger ·writes · non-destructive · idempotent · closed-world
Update fields on an agent trigger (enabled flag, prompt_id, context_template).
Event type and filter are immutable — delete and recreate to change them.
Returns: str
Source: backend/src/engram/mcp/tools/triggers.py
Parameters
Name of the trigger to update.
Set enabled/disabled.
New prompt UUID, or empty string to clear.
New template, or empty string to clear.