The Attention connector lets your AI agent act in each user's Attention account. Each user connects their own Attention API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 29 tools.
- Tools
- 29
- What they doRead · write · destructive
- 17 · 10 · 217 read10 write2 destructive
- Users sign in with
- API key
What you can do
- Read conversations: list recorded calls and meetings, and fetch participants and full transcripts
- Ask questions about calls: get AI-generated answers across a deal’s conversations, with supporting transcript excerpts
- Manage conversations: import recordings, update titles and labels, change privacy, archive, and create video snippets
- Review with scorecards: list scorecard templates, submit coaching reviews, and pull aggregate scorecard results
- Track meetings and emails: list a user’s calendar events and search tracked emails by subject, account, or deal
- Manage users and teams: create, update, and remove users, and organize them into nested teams
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Attention connection
In AgentKit > Connections, create an Attention connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'attention'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Attention:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'attention_connection_report_get',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "attention"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Attention:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="attention_connection_report_get",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Attention credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolattention_ask_attentionAsk a natural-language question over one or more conversations within a deal and get back an AI-generated answer.Read-onlyAsk Attention
Ask a natural-language question over one or more conversations within a deal and get back an AI-generated answer. Optionally include timestamped transcript excerpts that support the answer, or synthesize a single cross-conversation summary.
Inputs
conversations_idsarrayrequired- List of conversation IDs to analyze. Pass an empty array to consider all conversations under the given deal.
deal_idstringrequired- Identifier of the CRM deal that provides context for this question.
promptstringrequired- Natural-language question or instruction to run against the selected conversations.
include_timestampsboolean- If true, includes timestamped transcript excerpts that support the answer.
summarizeboolean- If true, synthesizes all per-conversation outputs into a single combined response.
attention_calendar_events_listList a specific user's calendar events/meetings with date-range filtering and pagination.Read-onlyList Calendar Events
List a specific user's calendar events/meetings with date-range filtering and pagination.
Inputs
pageintegerrequired- Page number for pagination.
sizeintegerrequired- Number of items per page.
user_uuidstringrequired- UUID of the user whose calendar events to list.
date_fromstring- Filter events starting from this date-time (inclusive, ISO 8601).
date_tostring- Filter events until this date-time (inclusive, ISO 8601).
attention_connection_report_getGet an org-wide report of which users have connected their calendar and email to Attention, including a summary count and a per-user connection status breakdown.Read-onlyGet Connection Report
Get an org-wide report of which users have connected their calendar and email to Attention, including a summary count and a per-user connection status breakdown.
Inputs
This tool takes no inputs.
attention_conversation_by_external_id_getLook up an Attention conversation by its external application ID, the ID from the source system that originally imported it (for example a Zoom meeting or CRM activity ID).Read-onlyGet Conversation by External ID
Look up an Attention conversation by its external application ID, the ID from the source system that originally imported it (for example a Zoom meeting or CRM activity ID). Returns the Attention conversation UUID when a match exists, and a 404 when no conversation has that external ID. Use this to reconcile a Zoom or CRM ID to an Attention conversation, then pass the returned UUID to attention_conversation_get for the full record. Use attention_conversations_list to browse by filters instead. Requires the external ID that was supplied when the conversation was imported.
Inputs
external_idstringrequired- The external application ID used when the conversation was imported into Attention, such as a Zoom meeting ID or CRM activity ID. Example: 84730218832
attention_conversation_getRetrieve a single Attention conversation by ID, including metadata, participants, and (optionally) the detailed transcript.Read-onlyGet Conversation
Retrieve a single Attention conversation by ID, including metadata, participants, and (optionally) the detailed transcript.
Inputs
conversation_idstringrequired- Unique identifier of the conversation.
detailed_transcriptboolean- If true, includes detailed transcript data for the conversation.
include_internal_participantsboolean- If true, includes internal participants in the response.
attention_conversation_media_download_url_getGenerate a presigned download URL for a conversation's underlying recording/media file.Read-onlyGet Conversation Media Download URL
Generate a presigned download URL for a conversation's underlying recording/media file.
Inputs
conversation_idstringrequired- Unique identifier of the conversation whose media should be downloaded.
attention_conversation_upload_url_getGet a signed URL (plus an identifier key) for uploading a local conversation media file, for use before calling attention_conversation_import.Read-onlyGet Conversation Upload URL
Get a signed URL (plus an identifier key) for uploading a local conversation media file, for use before calling attention_conversation_import.
Inputs
This tool takes no inputs.
attention_conversations_listList conversations (calls, meetings) recorded in Attention, with optional date-range and filter parameters.Read-onlyList Conversations
List conversations (calls, meetings) recorded in Attention, with optional date-range and filter parameters. Returns a paginated list of conversation summaries.
Inputs
detailed_transcriptboolean- If true, includes detailed transcript data for each conversation.
from_date_timestring- Start of the date-time range for filtering conversations (ISO 8601).
hide_internalboolean- If true, excludes conversations with no external participants.
owner_emailstring- Filter conversations by the owning user's email address.
pageinteger- Page number for pagination.
sizeinteger- Number of results per page.
team_idstring- Filter conversations by team UUID.
titlestring- Filter conversations by title.
to_date_timestring- End of the date-time range for filtering conversations (ISO 8601).
attention_emails_listList/search tracked emails with filters by subject, CRM account, deal, and date range — the email counterpart to the existing attention_conversations_list tool.Read-onlyList Emails
List/search tracked emails with filters by subject, CRM account, deal, and date range — the email counterpart to the existing attention_conversations_list tool.
Inputs
crm_account_idarray- Filter emails by CRM account ID(s).
deal_uuidarray- Filter emails by deal UUID(s).
from_date_timestring- Start of the date-time range for filtering emails (ISO 8601).
pageinteger- Page number for pagination (starts from 1).
sizeinteger- Number of results per page (max 50).
subjectstring- Filter emails by subject using case-insensitive partial matching.
to_date_timestring- End of the date-time range for filtering emails (ISO 8601).
attention_roles_listList available user roles in the Attention organization and their UUIDs — needed as a lookup before calling attention_user_create or attention_user_update, which require a roleUUID.Read-onlyList Roles
List available user roles in the Attention organization and their UUIDs — needed as a lookup before calling attention_user_create or attention_user_update, which require a roleUUID.
Inputs
This tool takes no inputs.
attention_scorecards_listList scorecard templates configured in the Attention workspace, used for call review and coaching.Read-onlyList Scorecards
List scorecard templates configured in the Attention workspace, used for call review and coaching.
Inputs
pageinteger- Page number for pagination (1-indexed).
sizeinteger- Number of results per page.
attention_scorecards_summary_getGet aggregate scorecard results for a scorecard across a date range, filtered by teams, users, and scorecard items.Read-onlyGet Scorecards Summary
Get aggregate scorecard results for a scorecard across a date range, filtered by teams, users, and scorecard items. Complements attention_scorecards_list and attention_scorecard_result_create with rollup analytics such as score totals, min/max, and per-item averages.
Inputs
from_date_timestringrequired- Start date-time of the range to summarize (ISO 8601).
scorecard_items_uuidsarrayrequired- Scorecard item IDs to include in the summary. Pass an empty array to include all items.
scorecard_uuidstringrequired- Identifier of the scorecard template to summarize.
team_uuidsarrayrequired- Team IDs to include in the summary. Pass an empty array to include all teams.
to_date_timestringrequired- End date-time of the range to summarize (ISO 8601).
user_uuidsarrayrequired- User IDs to include in the summary. Pass an empty array to include all users.
attention_team_getRetrieve a single Attention team by ID.Read-onlyGet Team
Retrieve a single Attention team by ID.
Inputs
team_idstringrequired- Unique identifier of the team.
attention_team_members_listList the members belonging to a specific Attention team.Read-onlyList Team Members
List the members belonging to a specific Attention team.
Inputs
team_idstringrequired- Unique identifier of the team.
attention_teams_listList all teams configured in the Attention workspace.Read-onlyList Teams
List all teams configured in the Attention workspace.
Inputs
This tool takes no inputs.
attention_usage_report_getGet API/feature usage statistics (coaching sessions, calls viewed, comments left, snippets created, AI queries, etc.) for specified users or teams over a date range.Read-onlyGet Usage Report
Get API/feature usage statistics (coaching sessions, calls viewed, comments left, snippets created, AI queries, etc.) for specified users or teams over a date range.
Inputs
end_datestringrequired- End date for the usage report period (inclusive).
start_datestringrequired- Start date for the usage report period (inclusive).
team_uuidsarray- List of team UUIDs to include in the report. Omit to include all teams.
user_uuidsarray- List of user UUIDs to include in the report. Omit to include all users.
attention_users_listList users in the Attention organization, with optional filters by ID, email, or team.Read-onlyList Users
List users in the Attention organization, with optional filters by ID, email, or team.
Inputs
filter_emailstring- Filter results to this user's email address.
filter_idstring- Filter results to this user ID.
include_deletedboolean- If true, includes deleted users in the response.
team_uuidstring- Filter results to users in this team.
attention_conversation_importImport an externally recorded conversation into Attention by supplying a media URL and the owning user.WriteImport Conversation
Import an externally recorded conversation into Attention by supplying a media URL and the owning user. Attention will transcribe and analyze the recording asynchronously.
Inputs
media_urlstringrequired- URL of the call recording media file to import.
user_idstringrequired- Unique identifier of the user who owns this conversation.
application_external_idstring- External identifier for this recording in the source application.
application_namestring- Name of the source application providing the recording.
conversation_started_atstring- Start date-time of the conversation (ISO 8601).
conversation_titlestring- Title for the imported conversation.
opportunity_idstring- Identifier of the CRM opportunity linked to this conversation.
skip_crm_fields_calculationboolean- If true, skips CRM field calculation for the imported conversation.
skip_opportunities_exportboolean- If true, skips exporting data to CRM opportunities.
skip_scorecard_calculationboolean- If true, skips scorecard calculation for the imported conversation.
attention_conversation_privacy_updateToggle an Attention conversation between private and public visibility.WriteUpdate Conversation Privacy
Toggle an Attention conversation between private and public visibility.
- Idempotent
Inputs
conversation_idstringrequired- Unique identifier of the conversation.
privacystringrequired- New privacy setting for the conversation.one of
publicprivate
attention_conversation_updateUpdate the title and/or labels of an existing Attention conversation.WriteUpdate Conversation
Update the title and/or labels of an existing Attention conversation.
- Idempotent
Inputs
conversation_idstringrequired- Unique identifier of the conversation.
labelsarray- Array of label strings to set on the conversation.
titlestring- New title for the conversation.
attention_deck_createGenerate an AI slide deck/presentation from a conversation, deal, or other content source and share the resulting link with a list of recipient emails.WriteCreate Deck
Generate an AI slide deck/presentation from a conversation, deal, or other content source and share the resulting link with a list of recipient emails.
Inputs
context_idstringrequired- Identifier of the content source the deck should be generated from (e.g. a deal or conversation ID).
users_to_sharearrayrequired- Email addresses to share the generated deck with.
additional_instructionsstring- Supplementary free-text guidance for deck generation.
deck_typestring- Presentation category, e.g. sales_presentation.
slidesinteger- Target number of slides for the generated deck.
structurearray- Custom layout and content specification per slide.
attention_scorecard_result_createSubmit a scorecard result (coaching/QA review) for a conversation or chat in Attention, with a summary and a list of scored items.WriteCreate Scorecard Result
Submit a scorecard result (coaching/QA review) for a conversation or chat in Attention, with a summary and a list of scored items.
Inputs
itemsarrayrequired- Array of scored scorecard items.
scorecard_uuidstringrequired- Unique identifier of the scorecard template.
summarystringrequired- Overall summary of the scorecard result.
chat_uuidstring- Unique identifier of the chat this result is attached to.
conversation_uuidstring- Unique identifier of the conversation this result is attached to.
attention_snippet_createCreate a shareable video snippet/clip from a specific time range of an Attention conversation.WriteCreate Snippet
Create a shareable video snippet/clip from a specific time range of an Attention conversation.
Inputs
conversation_idstringrequired- Unique identifier of the conversation to clip from.
internalbooleanrequired- If true, the snippet is only visible internally.
notify_viewsbooleanrequired- If true, notifies the snippet owner when it's viewed.
user_uuidstringrequired- Unique identifier of the user creating this snippet.
video_end_timenumberrequired- End time of the clip within the conversation video, in seconds.
video_start_timenumberrequired- Start time of the clip within the conversation video, in seconds.
in_libraryboolean- If true, adds the snippet to the shared snippet library.
library_item_infoobject- Library folder/location details, required when in_library is true.
notesstring- Additional notes about the snippet.
titlestring- Title for the snippet.
attention_team_createCreate a new team in the Attention organization, optionally nested under a parent team.WriteCreate Team
Create a new team in the Attention organization, optionally nested under a parent team.
Inputs
namestringrequired- Name of the new team.
parent_team_uuidstring- UUID of the parent team, if this team is part of a hierarchy.
attention_team_updateRename an Attention team or move it under a different parent team.WriteUpdate Team
Rename an Attention team or move it under a different parent team.
- Idempotent
Inputs
team_idstringrequired- UUID of the team to update.
namestring- New name for the team.
parent_team_uuidstring- UUID of the new parent team.
attention_user_createCreate a new user in the Attention organization with an email, role, seat type, and one or more team assignments.WriteCreate User
Create a new user in the Attention organization with an email, role, seat type, and one or more team assignments. Look up role UUIDs with attention_roles_list and team UUIDs with attention_teams_list first.
Inputs
emailstringrequired- Email address of the new user.
first_namestringrequired- First name of the new user.
last_namestringrequired- Last name of the new user.
role_uuidstringrequired- UUID of the role to assign to the new user.
team_uuidsarrayrequired- Team UUIDs the new user should belong to (at least one required).
passwordstring- Password for the new user's account.
primary_team_uuidstring- Which of the provided team_uuids should be marked as the user's primary team.
seat_typestring- Seat type for the new user: listener or recording.one of
listenerrecording
attention_user_updateUpdate an existing Attention user's name, password, role, seat type, or team assignments.WriteUpdate User
Update an existing Attention user's name, password, role, seat type, or team assignments. Only the fields provided are changed.
- Idempotent
Inputs
user_idstringrequired- UUID of the user to update.
deals_enabledboolean- Enable or disable the deals feature for this user.
first_namestring- New first name for the user.
last_namestring- New last name for the user.
passwordstring- New password for the user's account.
role_uuidstring- UUID of the new role to assign to the user.
seat_typestring- Seat type for the user: listener or recording.one of
listenerrecording team_uuids_to_addarray- Team UUIDs to add this user to.
team_uuids_to_removearray- Team UUIDs to remove this user from.
attention_conversation_archiveArchive an Attention conversation so it's excluded from active listings, while preserving its underlying data and history.DestructiveArchive Conversation
Archive an Attention conversation so it's excluded from active listings, while preserving its underlying data and history.
- Idempotent
Inputs
conversation_idstringrequired- Unique identifier of the conversation to archive.
attention_user_deletePermanently remove a user from the Attention organization, revoking their access.DestructiveDelete User
Permanently remove a user from the Attention organization, revoking their access.
- Idempotent
Inputs
user_idstringrequired- UUID of the user to delete.
No tools match.
Workflows
Proxy API call
const result = await actions.request({ connectionName: 'attention', identifier: 'user_123', path: '/v1/users/me', method: 'GET',});console.log(result);result = actions.request( connection_name='attention', identifier='user_123', path="/v1/users/me", method="GET",)print(result)Execute a tool
const result = await actions.executeTool({ connector: 'attention', identifier: 'user_123', toolName: 'attention_users_list', toolInput: {},});console.log(result);result = actions.execute_tool( connection_name='attention', identifier='user_123', tool_name='attention_users_list', tool_input={},)print(result)