Looking for the SenseLab connector inside Claude or ChatGPT? That is the other
direction — memory going out to an assistant — and it is covered in
Claude and ChatGPT. This page is about
events coming in.
pagerduty and usable without writing any code. For everything else what
SenseLab gives you is the plumbing: an endpoint to post to, signature
verification, deduplication, and a place to hook your own transform. Wiring up a
particular tool is something you do, and the routes below are how.
Three ways in
Events API
The most direct route. Any system that can make an HTTP request can write memory:agent_id="external/{source}", visible
to all your agents and included in Cortex digest compilation.
Good for monitoring alerts, CI/CD pipelines reporting deploy status, cron jobs
pushing metrics, and anything else with an outgoing webhook.
Webhook receiver
Each connector gets an endpoint:X-AMFS-API-Key. Two optional headers
control routing and deduplication:
If no transform matches the event type, the receiver still writes the raw
payload, so nothing is silently dropped.
Signature verification
Set an HMAC secret per connector as an environment variable on the server, named after the connector:X-Webhook-Signature unless the connector overrides
the header name. With no secret set, signature checking is skipped.
API key scopes
Keys of typeingestion may write to /api/v1/events, /api/v1/entries, and
/api/v1/record-context — but not to /api/v1/webhooks/*. Use an agent key
for webhook endpoints.
Seeing what is registered
Dashboard → Connectors lists the connectors registered on your server and shows each webhook URL. Secrets are configured through environment variables on the server, not through the dashboard.Writing your own connector
A connector implementsConnectorABC:
IngestionResult.action accepts "write", "context", or "skip". Today only
"write" results are persisted by the webhook handler — "context" results are
accepted but not yet recorded, so build around "write".
