Most integration problems we see are not bugs. They are limits nobody knew about, discovered halfway through a build. Here they are in one place, so you can design around them instead of debugging them.
Private recordings are invisible to everything
API requests do not impersonate a workspace user, so private recordings cannot be retrieved through the API at all. The same recording will not trigger a webhook, will not sync to your CRM, and will not be returned by MCP search from an AI tool.
A recording is reachable when it is accessible to workspace members and visible in global search, or sits in a folder that is.
This is the cause behind most integrations that "stopped working" without anything being changed on the integration itself. Someone changed a folder's visibility, and four different mechanisms went quiet at once, silently.
Creating recordings is rate limited
At most 50 recordings can be created through the API in a rolling 30 day window. Quotas also apply to the author the recording is created for.
For a backfill or occasional imports this is fine. For a team pushing daily call volume it is not, and a native integration is the better route. Check this before committing engineering time, because it is the limit most likely to invalidate a design after it has been built.
Uploads have to be reachable and reasonably fast
If you supply a downloadUrl rather than uploading directly, it has to be publicly reachable with a plain GET request and return under 2 GiB within five minutes. Signed URLs that expire, or storage requiring authentication, will fail.
Accepted formats are aac, avi, mp3, mp4, wav, webm and wmv, the same as manual uploads.
Webhooks expect a fast acknowledgement
Your endpoint has to return HTTP 200 within five seconds. If it doesn't, Claap retries immediately, then after one minute, then after five minutes, then discards the event.
Design accordingly: acknowledge first, process afterwards. An endpoint that does its work before responding will lose events even though the code is correct.
Also note that recording_added fires only once the recording has been transcoded, transcribed and analysed, so it does not arrive the moment a call ends.
Comments are not exposed
Comments on a recording are not available through the public API. If your workflow depends on reading them, it will need a different approach.
Deal association has prerequisites
You can attach a recording to a CRM deal when creating it through the API, by passing the CRM type and the deal identifier. Two conditions apply: meeting information has to be supplied alongside it, and your workspace has to be connected to that same CRM. Without both, the association will not be made.
If something isn't listed here
The full technical reference is at docs.claap.io. If you hit a limit that isn't documented anywhere, tell us, because it usually means we should be documenting it.
