Webhooks
Webhooks let Memsolus notify your application in real time when events happen in your workspace — a memory is created, knowledge is updated, and so on. Instead of polling the API, your endpoint receives an HTTP POST request the moment an event occurs.
Webhooks require the webhook.write permission and the Webhooks feature enabled on your plan.
Available Events
| Event | When it fires |
|---|---|
memory.created | A new memory was stored |
memory.updated | A memory's content or priority changed |
memory.consolidated | A memory was merged with an existing one |
knowledge.updated | The knowledge base was updated for a user |
* | Subscribe to all events |
Setting Up a Webhook
Create the webhook
Register your endpoint URL and choose which events to subscribe to:
Response:
The secret is returned only once at creation time. Store it securely — you will need it to verify incoming webhook signatures.
Implement signature verification
Every webhook delivery includes two headers:
Always verify the signature before processing a delivery. This ensures the request came from Memsolus and was not tampered with.
TypeScript / Node.js:
Python:
Send a test event
Use the test endpoint to verify your handler is working before relying on real events:
Memsolus sends a sample payload to your URL and you can check the delivery result in the dashboard or via the deliveries endpoint.
Webhook Payload
Every delivery uses the same envelope structure:
Retry Policy
If your endpoint does not return a 2xx status code within 10 seconds, the delivery is considered failed. Memsolus retries failed deliveries with exponential backoff — up to 5 attempts over 24 hours.
If all attempts fail, the delivery is marked as failed. The webhook remains active and continues to receive future events.
You can review all delivery attempts — including response codes and error details — via the deliveries endpoint: