> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rippit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Attention

> Technical reference for the Rippit Attention data integration: organization API key authorization, the API endpoints Rippit calls, what a call becomes in Rippit, and sync behavior.

A read-only API key integration that syncs Attention sales call transcripts into Rippit on a schedule. For what applies to every integration, see [how data integrations work](/plg/data-integrations). For the security model, see [Data integration security](/security/data-integrations).

## Connection summary

| | |
| - | - |
| Authorization | Attention organization-level API key, sent as `Authorization: Bearer <key>` |
| Key level | Organization-level only. A user-level key, or a key for an organization with no teams, is refused when you connect |
| Scope parameter | None. An organization-level key reads every team's calls |
| Writes to Attention | None. Every call is a `GET` |
| Credentials shared with Rippit | The API key. Rippit stores it and uses it for every sync |
| Credential check | When you connect, Rippit reads your organization from the key, then tests the key against Attention before the connection is saved. A rejected key saves nothing |
| Connection identity | Your Attention organization UUID, read from the key. There is nothing to name |
| Required Rippit role | Workspace admin |
| API base | `https://api.attention.tech` |
| API version | `v2`, in the path |
| Sync method | Scheduled polling |
| Audio and video | Not downloaded. The stored call record includes a signed video playback token that Rippit never uses. See [Data handling](#data-handling) |
| Maximum historical backfill | 90 days |
| Field selection limit | 150 columns |

## Before you connect

Rippit asks for one value, an API key. An Attention admin creates it under **Settings → Organization → API Keys**. Create an organization-level key: Rippit identifies the connection by the organization the key belongs to, and a user-level key cannot report one.

An organization-level key reads every team's calls in your Attention organization.

## Data handling

| Question | Answer |
| - | - |
| Is call content ingested, or only metadata? | Content, as text: the full transcript with speaker names, plus the call record as Attention returns it, minus the word-level transcript. The record includes title, owner, participants, team, duration, whether the call was internal, Attention's scorecard results (scorecard titles, summaries, and items), CRM link fields, and the call's link in Attention. The recording itself is not ingested |
| Are audio or video files stored? | No. Rippit downloads no audio, video, or other files from Attention. Duration is read as a number from the call record |
| Does Rippit keep any access to the recording? | The stored call record includes `videoUID`, a short-lived, signed video playback token, and the meeting's Zoom join link when the call has one. Both are stored as Attention returns them. Rippit never uses either to fetch media or join a meeting |
| Is the raw transcript stored as Attention returns it? | No. Attention returns the transcript word by word. Rippit merges words into speaker turns and stores the turns in place of the word list |
| Are calls without a transcript ingested? | No. Calls Attention marks pending or failed are filtered out of every request, and a call returned with no transcript words is skipped |
| Can Rippit modify Attention? | No. No write code path exists |

### What a call becomes in Rippit

Each Attention call becomes one conversation in Rippit.

| Rippit record | Content |
| - | - |
| Subject | The call title |
| Agent | The call owner, by email: the Attention user the call belongs to, or, when there is no user, the organizer participant's email if Attention provides one. The owner is also added to your agent list |
| Fields | Owner name, participant emails when Attention provides them, team name, duration, whether the call was internal, and the call's link in Attention (`web_url`, `https://app.attention.tech/conversations/<id>`). Other single-value attributes on the call record are also available to select. Attributes that hold a list are stored with the record but are not offered as fields |
| Default selected fields | Title, owner, participant emails, and team name |
| Transcript comments | The transcript, one comment per speaker turn, each timestamped at the call's start plus the turn's offset |

Consecutive transcript segments from one speaker join the same turn until there is a pause of more than 3 seconds or the turn reaches 1,000 characters. Each turn carries the speaker name Attention identified, or the speaker's email when there is no name. A turn with neither is attributed to a generic participant.

A call's start is the time its live stream started, or its creation time when Attention reports no stream start. The owner's display name is the Attention user's first and last name, or the organizer participant's name. Speaker and owner emails are stored in lowercase.

## API endpoints

| Purpose | Endpoint | Method |
| - | - | - |
| Organization lookup when you connect | `/v2/organizations/teams` | GET |
| Credential check when you connect, and before each sync | `/v2/conversations/list?size=1&filter[hide_transcript]=true` | GET |
| Call discovery and content | `/v2/conversations/list?fromDateTime=…&toDateTime=…&page=…&size=10&detailedTranscript=true&filter[hide_pending]=true&filter[hide_failed]=true` | GET |
| Field discovery, a sample of 5 calls, only when Rippit has no stored sample | `/v2/conversations/list?page=1&size=5&detailedTranscript=true&filter[hide_pending]=true&filter[hide_failed]=true` | GET |

The organization lookup reads the organization UUID from the first team the key returns. It is why a key that cannot list teams cannot connect.

There is no separate per-call fetch. `detailedTranscript=true` returns each call's full transcript inline in the list, so one paged request both discovers calls and reads their content. No other Attention object is listed or swept. Owner, participants, and team come from the call record itself.

## Sync behavior

| | |
| - | - |
| Call discovery | Windowed on the call's creation time (`fromDateTime` to `toDateTime`), 10 calls per page, page-number pagination |
| Window width | 7 days |
| Trailing buffer | Each window closes 1 hour behind the current time |
| Window size limit | A window that pages past page 1,000 (10,000 calls) stops the sync with an error rather than skipping calls |
| Daily re-sweep | The last 24 hours are listed again once a day, because Attention lists a call only after its transcript finishes processing |
| Update handling | Calls are selected by creation time, not by last edit. A change made in Attention to a call already synced is picked up only while the call falls inside the daily re-sweep |
| Expected latency | A call syncs once it is at least 1 hour old and Attention has finished processing its transcript. One that finishes later arrives with the daily re-sweep |

## Rate limiting

* Every request, retries included, starts at least 1 second after the previous one, so a sync sends at most 60 requests per minute.
* Each page of up to 10 calls is one request. Each sync also spends one request on the credential check.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.