trigger_sync
Ingest chat channel messages into the knowledge base to make them searchable. Use when retrieval tools return stale results or when a channel refresh is explicitly requested.
Instructions
Ingest a chat channel's messages into the Atlas knowledge base so they become searchable by the retrieval tools (ask_channel, search_channel_facts, search_memory). This is the WRITE/ingestion entry point; it does NOT answer questions — use the retrieval tools for that. It is distinct from refresh_wiki, which only re-renders wiki pages from already-ingested facts.
WHEN TO USE: only when the user EXPLICITLY asks to sync/refresh a channel, OR when retrieval tools return empty/stale results AND the channel was last synced over 24h ago. WHEN NOT TO USE: do not call before every question or as a precautionary warm-up — prefer the data already indexed. Sync is expensive and rate-limited (cooldown) per channel.
PREREQUISITES: get a valid channel_id (and ideally connection_id) from list_channels first. The calling principal must have access to the channel.
LATENCY & SIDE EFFECTS: asynchronous. Returns within ~5s with a job envelope while ingestion runs in the background; this WRITES facts to the knowledge base. Shape: {job_id: 'job_abc123', status_uri: 'atlas://job/job_abc123', status: 'queued'}. Track progress by calling get_job_status(job_id) or reading the atlas://job/ resource.
IDEMPOTENT: if a queued or running sync already exists for the channel, its existing job_id is returned instead of starting a duplicate. A new job is created only when no active job exists, or after the prior one completed or failed.
ERROR MODES (returned as {error: ...}, never raised): 'authentication_missing' (no principal); 'invalid_parameter' (malformed channel_id/connection_id); 'channel_access_denied' (principal lacks access); 'cooldown_active' (synced too recently; includes retry_after_seconds); 'service_unavailable' (backing service down; includes service); 'internal_error' (unexpected failure).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | Channel to sync, e.g. 'ch_eng_backend'. Get it from list_channels. Required. | |
| sync_type | No | Sync mode. 'incremental' (default) fetches only messages newer than the last sync (cheap); 'full' re-fetches the entire history (expensive); 'auto' lets the server pick based on sync history. Valid values: 'incremental' | 'full' | 'auto'. | incremental |
| connection_id | No | Platform connection that owns the channel, e.g. 'conn_slack_acme'. Get it from list_channels or list_connections. Default None. Optional but STRONGLY RECOMMENDED when multiple same-platform connections exist (e.g. two Slack workspaces): without it the server matches the channel against each connection's selected_channels pick-list and may mis-route the sync if the channel was never added to a pick-list. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||