CRM · Beta
Streak
API integration
Ship CRM features without building the integration. Full Streak API access via Proxy, normalized data through Unified APIs, and 20+ MCP-ready tools for AI agents — all extensible to your exact use case.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Streak
Common scenarios for SaaS companies building Streak integrations for their customers.
Automatically create Streak deals from form submissions or bookings
Form builders and scheduling tools can push new leads directly into a user's Streak pipeline as Boxes, eliminating manual data entry and ensuring every prospect is tracked inside Gmail from the moment they engage.
Move deals through pipeline stages based on external events
E-signature, proposal, or demo platforms can update a Streak Box's stage when a prospect takes a high-intent action — like signing a contract or completing a product tour — keeping the rep's Gmail pipeline perfectly in sync without any manual intervention.
Generate follow-up tasks in Gmail from engagement signals
Video platforms, content analytics tools, or intent-data providers can create prioritized Box Tasks inside Streak when a prospect hits an engagement threshold, ensuring reps act on the hottest signals without leaving their inbox.
Sync assessment or support outcomes back into a lightweight ATS or CRM
Technical assessment platforms and helpdesk tools can write scores, ticket statuses, and results into Streak Box notes and stage updates, giving recruiters or account managers a single-pane-of-glass view inside Gmail.
Route leads to the right team member automatically
Lead capture and distribution tools can fetch Streak teams and users to implement round-robin or rule-based assignment when creating Boxes, so every new opportunity lands with the right rep instantly.
What You Can Build
Ship these features with Truto + Streak
Concrete product features your team can ship faster by leveraging Truto’s Streak integration instead of building from scratch.
Pipeline & stage mapping UI
Let your end users select which Streak pipeline and stage incoming records should land in by fetching their pipelines and stages via list_all_streak_pipelines and list_all_streak_stages.
Automated Box creation from external triggers
Create Streak Boxes with prospect details, notes, and assigned stages whenever a form is submitted, a meeting is booked, or a lead qualifies in your platform.
Event-driven stage progression
Automatically move a Streak Box to a new stage when an external event fires — such as a document being signed, a demo completed, or a payment received — using update_a_streak_box_by_id.
Inbox task generation from intent signals
Drop prioritized follow-up tasks into a rep's Streak workflow by calling create_a_streak_box_task when your platform detects high-intent behavior like a pricing page visit or a full video watch.
Team-aware lead routing
Fetch Streak teams and individual users to assign new Boxes or tasks to the correct rep based on territory, round-robin, or custom routing rules configured in your product.
Two-way status sync between your app and Streak
Keep external statuses (support tickets, project phases, deal stages) in lockstep with Streak by reading and writing Box stage keys and task statuses through Truto's unified layer.
SuperAI
Streak AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_streak_me
Get the current user in Streak. Returns email, lowercaseEmail, lastSeenTimestamp, isOauthComplete, and displayName fields that describe the authenticated user's account details.
list_all_streak_teams
List teams the current user belongs to in Streak. Returns fields such as name, creationDate, members (with role, email, fullName, and image), sharingRestrictedToTeam, and key.
get_single_streak_team_by_id
Get a specific team in Streak by id. Requires id. Returns fields such as creationDate, creator, members (with role, displayName, email), name, and sharingRestrictedToTeam.
list_all_streak_pipelines
List all pipelines in Streak. Returns an array of pipeline objects including key fields such as creatorKey, name, fields (schema for boxes), stages (stages of process), stageOrder (stage display order), aclEntries (access control list), owner, and timestamps.
get_single_streak_pipeline_by_id
Get a specific pipeline in Streak using id. Returns fields such as creatorKey, name, teamWide, fields, stages, stageOrder, creationTimestamp, lastUpdatedTimestamp, aclEntries, and owner.
create_a_streak_pipeline
Create a pipeline in Streak. Requires name and teamKey. Returns pipelineKey, name, teamWide, fields, stages, stageOrder, creationTimestamp, lastUpdatedTimestamp, owner, and aclEntries.
update_a_streak_pipeline_by_id
Update a pipeline in Streak. Requires id. Returns fields such as creatorKey, name, description, orgWide, stageOrder, creationTimestamp, lastUpdatedTimestamp, aclEntries, owner, and pipelineKey.
delete_a_streak_pipeline_by_id
Delete a pipeline in Streak. Requires id. You can only delete pipelines that are empty and have no boxes in them. Returns a success boolean indicating whether the deletion succeeded.
list_all_streak_stages
List all stages in a pipeline in Streak. Requires pipeline_key. Returns stage objects with fields name (the stage name) and key (the unique stage identifier).
get_single_streak_stage_by_id
Get a specific stage in Streak using pipeline_key and id. Returns the stage name and key fields.
create_a_streak_stage
Create a new stage in a specific pipeline in Streak. Requires pipeline_key and stage name. Returns the created stage’s name and key in the response.
update_a_streak_stage_by_id
Update a stage in Streak using pipeline_key and id. Returns name (the updated stage name) and key (the stage identifier) in the response.
delete_a_streak_stage_by_id
Delete a specific stage in Streak using pipeline_key and id. The operation succeeds only if no boxes are tagged with this stage. Returns success status in the response.
list_all_streak_box_tasks
Get all tasks in a specific box in Streak. Requires box_key. Returns fields including text (task text), status (DONE or NOT_DONE), assignedToSharingEntries (assignees), and dueDate (optional reminder date).
get_single_streak_box_task_by_id
Get a specific box-task in Streak using id. Returns fields like boxKey, pipelineKey, creatorKey, creationDate, text, status, and assignedToSharingEntries for the requested task.
create_a_streak_box_task
Create a task in Streak for a specific box identified by box_key. Returns task details including boxKey, pipelineKey, text, status (automatically set to NOT_DONE), assignedToSharingEntries, and timestamps.
update_a_streak_box_task_by_id
Update a specific task in Streak using id. Returns key fields such as boxKey, pipelineKey, text, status, assignedToSharingEntries, and lastSavedTimestamp in the response.
delete_a_streak_box_task_by_id
Delete a specific task in Streak. Requires id. Returns a 'success' field indicating whether the deletion was successful.
list_all_streak_boxes
List all boxes in a specific pipeline in Streak. Requires pipeline_key. Returns box details such as name, notes, stageKey, creationTimestamp, lastUpdatedTimestamp, followerCount, and key for each box.
get_single_streak_box_by_id
Get a specific box in Streak using id (boxKey). Returns details including pipelineKey, creatorKey, creationTimestamp, lastUpdatedTimestamp, name, stageKey, followerCount, commentCount, and related metadata.
create_a_streak_box
Create a box in Streak using the provided pipeline_key. Returns box details including key, name, stageKey, creatorKey, creationTimestamp, and followerCount.
update_a_streak_box_by_id
Update a box in Streak using id. Returns key fields including pipelineKey, creatorKey, creationTimestamp, lastUpdatedTimestamp, name, stageKey, followerKeys, followerCount, commentCount, taskTotal, gmailThreadCount, fileCount, boxKey, and key.
delete_a_streak_box_by_id
Delete a specific box in Streak using id. This also deletes related files, emails, and tasks. Returns success field indicating if deletion was successful.
get_single_streak_user_by_id
Get public details about a specific user in Streak identified by id. Returns email, lowercaseEmail, displayName, creationTimestamp, lastUpdatedTimestamp, lastSeenTimestamp, isOauthComplete, userKey, and key.
Why Truto
Why use Truto’s MCP server for Streak
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Streak
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
How It Works
From zero to integrated
Go live with Streak in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Streak account
Use Truto’s frontend SDK to connect your customer’s Streak account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Streak
Truto’s Proxy API is a 1-to-1 mapping of the Streak API. You call us, we call Streak, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Streak’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Streak on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the Streak integration use?
Streak supports API key-based authentication. Truto handles the credential storage and injection so your app never manages raw keys directly.
What objects can I read and write through Truto's Streak integration?
You can list, get, create, update, and delete Pipelines, Stages, Boxes, and Box Tasks. You can also list and read Teams, the authenticated user (Me), and individual Users by ID.
Does Truto handle pagination for Streak API responses?
Yes. Truto abstracts away Streak's pagination logic so you receive complete result sets through a consistent interface without implementing cursor or offset management yourself.
Can I map to custom pipelines and stages my end users have already created in Streak?
undefined
Is there a Unified API available for Streak?
Yes. Streak is mapped to Truto's Unified User Directory API, which provides standardized access to Groups, Roles, and Users across multiple integrations, so you can write one integration that works across CRMs.
Can I assign a newly created Box or Task to a specific Streak user?
Yes. You can fetch team members with list_all_streak_teams and resolve individual users via get_single_streak_user_by_id, then pass the appropriate user identifier when creating or updating Boxes and Box Tasks.
Streak
Get Streak integrated into your app
Our team understands what it takes to make a Streak integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us