Integrations
Raindrop
Send every completed call to your own Raindrop workspace, where Raindrop reads the transcripts and flags the conversations that went wrong.
Raindrop is a monitoring and observability platform for AI agents, and it is often described as Sentry for AI products. Connect your account and OnCore delivers each finished call to your Raindrop workspace as it ends.
Overview#
Raindrop ingests the transcripts of real conversations and surfaces failures that log searching and manual review miss: a caller who had to repeat themselves, an assistant that talked around a question it should have answered, a failure mode that started spreading after last week's change.
You do not write queries against it. You describe the behaviour you care about in plain English, and Raindrop classifies the conversations you send it against that description.
The account is yours. You sign up with Raindrop directly at raindrop.ai, on whatever plan suits your volume, and give OnCore an API key from it. One key covers the tenant you connect it in, so that tenant's calls go into your workspace, and your usage is billed to you by Raindrop. OnCore's part is the delivery.
Prerequisites#
A Raindrop account of your own, and an API key created in it. Raindrop's own documentation is at raindrop.ai/docs.
What you can do with it#
These are Raindrop's features rather than OnCore's, and Raindrop's documentation is the authority on them. In short, once your calls are arriving:
- Signals are behaviours you describe in plain English, such as a caller repeating themselves or the assistant refusing a reasonable request. Raindrop classifies every event against them.
- Issue Detection flags broader shifts in behaviour, such as a failure mode spreading after a change.
- Stumbles are individual flagged conversations, each with the reason it was flagged.
- Slack alerts fire when a signal spikes.
- A triage agent investigates for you, in Slack or on the web.
How to connect#
The connection covers this tenant
Connecting is a per-tenant decision. Every assistant in the tenant is included from the moment you connect, and so is any assistant you add later. There is no per-assistant setting, so if one line handles conversations you do not want leaving the platform, weigh that before you connect. Other tenants are unaffected, so connect each tenant you want delivering.
Create an API key in Raindrop#
In your Raindrop account, create an API key and copy it. Treat it like any other production credential: anyone holding it can write into your workspace.
Paste it into OnCore#
In the OnCore dashboard, open Platform, then Integrations, then Raindrop. Paste the key and save.
OnCore checks the key with Raindrop before storing it, so a key that was mistyped, expired, or revoked is refused right there rather than accepted and left to fail quietly. What that check cannot tell you is which workspace the key belongs to: a working key from the wrong Raindrop account is still a working key, so copy it from the account you want the calls in.
Place a call and watch it arrive#
Your first completed call reaches your Raindrop workspace within seconds of the caller hanging up. OnCore sends each call as it completes, so an empty workspace means something is wrong rather than slow.
If nothing arrives, check that the integration still shows as connected on that screen, and that the call you are looking for finished after you connected. Calls that completed earlier are not sent.
What OnCore sends#
One event per completed call, delivered as the call ends. The transcript arrives as a script with each line labelled and stamped with the time it was said in your assistant's timezone, your assistant and the caller in turn. Each tool your assistant used appears where it used it, as a request line and a response line with how long the tool took.
| Sent with every call | What it carries |
|---|---|
| Transcript | The conversation as it was spoken, caller and assistant. |
| Tool calls | For each tool your assistant used: its name, the arguments it sent, the result your server returned, and whether OnCore recorded the call as failed. Raindrop shows these as tool spans on the event. |
| Call metadata | Which assistant answered, how long the call lasted, and the reason it ended. |
| Caller identity | The caller's phone number. Events are attributed to the assistant that answered rather than to the caller, so per-user counts in Raindrop measure your assistants. |
Nothing else is sent. Audio recordings and the call summary stay in OnCore, and so does the rest of the call record.
Read the first row with the last. The caller's number is sent, and the transcript is the conversation verbatim, so anything a caller says out loud is in it too, including details they read back. Tool calls carry whatever your tools exchange, such as a booking's name, phone number or email. A Raindrop workspace therefore holds the same personal data your own call records do. Treat it that way, and give it the access controls and the retention policy you give the transcripts themselves.
What to expect after connecting#
- Delivery starts at the moment you connect. Calls that finished before then are not sent afterwards, so the workspace fills from your next call rather than from your history.
- Every assistant in this tenant is covered. One key serves all of them, and an assistant you create later starts delivering as soon as it takes its first call.
- Only completed calls are sent. A call arrives within seconds of ending, never while it is still in progress.
If you rotate the key in Raindrop#
A key that is rotated or revoked in your Raindrop account stops working for OnCore at the same moment, and delivery for this tenant stops with it. OnCore does not raise a separate state for that.
Paste the current key on the same screen you connected from, and use the connection test there to confirm Raindrop accepts it. Delivery resumes from the next completed call, and calls that completed in the gap are not sent afterwards, so rotate the key in Raindrop and update it in OnCore close together.
Connecting and testing each check the key by sending one small event named sadie.connection_test to your workspace. They are how we confirm Raindrop accepts a key rather than assuming it, and you can filter them out by event name.
Disconnecting#
Disconnecting removes the stored key and stops delivery for this tenant. Other tenants you have connected keep delivering. Everything already in your Raindrop workspace is yours and stays exactly where it is, under your own account with Raindrop, so disconnecting here deletes nothing there.
To connect again later, paste a current key. Delivery resumes from the next completed call, not from the gap.
Next steps#
- Integrations: how bring-your-own-account integrations work across the platform.
- Recording & transcripts: the same transcript, plus the call summary, inside OnCore.
- End-of-call report: receive each finished call on your own server as well.