The Weflow connector lets your AI agent act in each user's Weflow account. Each user connects their own Weflow access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 11 tools.
- Tools
- 11
- What they doRead · write · destructive
- 11 · 0 · 011 read0 write0 destructive
- Users sign in with
- Access token
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 Weflow connection
In AgentKit > Connections, create a Weflow 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 = 'weflow'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Weflow:', 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: 'weflow_recordings_list',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 = "weflow"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Weflow:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="weflow_recordings_list",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Weflow credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolweflow_recording_clips_listList saved clips created from a recording.Read-onlyList Recording Clips
List saved clips created from a recording. Returns each clip's id, title, start/end time, and creator. Use weflow_recording_clips_list to see the highlighted moments saved from a recording. Requires a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
weflow_recording_comments_listList threaded comments on a recording, with replies nested under their parent comment.Read-onlyList Recording Comments
List threaded comments on a recording, with replies nested under their parent comment. Returns each comment's author, text, timestamp, and nested replies. Use weflow_recording_comments_list to read discussion left on a recording. Requires a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
weflow_recording_getGet full metadata for a single recording by id.Read-onlyGet Recording
Get full metadata for a single recording by id. Returns the recording's title, dates, duration, participants, and any Salesforce records linked to it. Use weflow_recording_get once you have a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
weflow_recording_interaction_metrics_listList per-participant conversation analytics for a recording, such as talk ratio, longest monologue, and questions asked per hour.Read-onlyList Recording Interaction Metrics
List per-participant conversation analytics for a recording, such as talk ratio, longest monologue, and questions asked per hour. Returns one interaction-metrics object per participant. Use weflow_recording_interaction_metrics_list to analyze how a conversation was balanced between participants. Requires a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
weflow_recording_scorecards_listList cached coaching scorecards for a recording, one per scoring template that has been run against it.Read-onlyList Recording Scorecards
List cached coaching scorecards for a recording, one per scoring template that has been run against it. Returns each scorecard's template, criteria scores, and overall result. Use weflow_recording_scorecards_list to review how a call was scored for coaching purposes. Requires a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
weflow_recording_summary_getGet the AI-generated summary of a recording for a given summary template.Read-onlyGet Recording Summary
Get the AI-generated summary of a recording for a given summary template. Returns the generated summary text for the recording. Use weflow_recording_summary_get after picking a template with weflow_summary_templates_list, or omit the template to use the company's default. Requires a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
templateIdstring- UUID of the summary template to use, from weflow_summary_templates_list. If omitted, the company's default summary template is used.
weflow_recording_trackers_listList trackers that matched on a recording, with each tracker's matched phrases.Read-onlyList Recording Trackers
List trackers that matched on a recording, with each tracker's matched phrases. Returns each tracker's name and the phrase matches found in the conversation. Use weflow_recording_trackers_list to see which tracked keywords or topics came up in a call. Requires a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
weflow_recording_transcript_getGet the full transcript of a recording, grouped by speaker with per-word timestamps.Read-onlyGet Recording Transcript
Get the full transcript of a recording, grouped by speaker with per-word timestamps. Returns an array of transcript segments, or an empty array if transcription never produced output. Use weflow_recording_transcript_get to read or search what was said in a recording. Requires a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
weflow_recording_video_getGet pre-signed URLs to stream or download a recording's video.Read-onlyGet Recording Video
Get pre-signed URLs to stream or download a recording's video. Returns a stream URL, a download URL, and their expiration timestamp — the URLs expire after 1 hour. Use weflow_recording_video_get to access the video itself; use weflow_recording_get for the recording's metadata. Requires a recording id from weflow_recordings_list.
Inputs
uidstringrequired- The recording's UUID or numeric id, from weflow_recordings_list.
weflow_recordings_listList call and meeting recordings for the company, newest first.Read-onlyList Recordings
List call and meeting recordings for the company, newest first. Returns a page of recordings (id, title, dates, participants, Salesforce links) plus a nextCursor and hasMore flag for pagination. Use weflow_recordings_list to browse or filter recordings; use weflow_recording_get for one recording's full metadata by id.
Inputs
cursorstring- Pagination cursor from a previous response's nextCursor field, used to fetch the next page. Leave unset for the first page.
endDatestring- Only return recordings that occurred on or before this date, as an ISO 8601 datetime.
limitinteger- Number of recordings to return per page, from 1 to 100. Defaults to 20.default
20 sfEventIdstring- Only return the recording linked to this Salesforce event id. Returns an empty list if no recording matches.
startDatestring- Only return recordings that occurred on or after this date, as an ISO 8601 datetime.
weflow_summary_templates_listList the AI summary templates available for the company.Read-onlyList Summary Templates
List the AI summary templates available for the company. Returns each template's id and name. Use weflow_summary_templates_list to find a template id to pass to weflow_recording_summary_get.
Inputs
This tool takes no inputs.
No tools match.