Step 2: Choose your storage strategy
Set riposte.storage.imap.enabled to true to persist IMAP metadata in the shared message store—otherwise the API proxies calls straight to the mailbox. Decide whether to persist message bodies too by flipping riposte.storage.imap.persistBodies in riposte/sync.config.json or through the Storage tab in the admin console. Leave it false to fetch bodies on demand or enable it when latency matters more than disk usage.
Deployments can still override these toggles with RIPOSTE_ENABLE_IMAP_STORAGE and RIPOSTE_IMAP_PERSIST_BODIES if they need per-environment switches without editing config files.
Step 3: Verify unified APIs and webhooks
Call GET /accounts/{accountId}/messages and GET /accounts/{accountId}/threads to confirm IMAP records surface alongside Gmail and Outlook. When bodies are fetched on demand the detail endpoint performs a just-in-time fetch, so clients receive the same schema either way. Webhook payloads reuse the stored data, giving you message.created and message.updated events that mirror the Microsoft and Google structures.
Trigger a historical sync to backfill older folders—the job writes batches through the same storage layer so subsequent API calls stay consistent.