Streak integration
Streak is a CRM that runs inside Gmail. Manage pipelines with their stages and custom fields; create, update, move between stages and delete boxes (the deals or records of a pipeline) and set their field values; add tasks, comments and meeting notes or call logs to boxes; attach Gmail threads; read box files, timelines and newsfeeds; manage contacts, organizations, email snippets and webhooks; and search boxes, contacts and organizations. Not exposed: attaching Google Drive files, downloading file contents, batch moves between pipelines and team contact or organization field definitions. Authentication is HTTP Basic with the Streak API key (created from the Streak Integrations panel in Gmail) as the username; Streak also accepts the key as the password.
Say what should happen.
The workflow builds itself.
What you can do with Streak
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Field, 8 operations
create_fieldCreate fieldPUTAdds a custom field (a column) to a pipeline, with its name and type, and returns it with its key.delete_fieldDelete fieldDELETEThis call lets you delete a field defined in a pipeline. Note: this will also remove the values of this field for every box in the pipeline.get_box_field_valueGet box field valueGETReturns the value of one custom field on a box.get_fieldGet fieldGETReturns one custom field of a pipeline with its name, key and type.list_box_field_valuesList box field valuesGETLists the custom field values of a box: each entry has the field key and its value.list_fieldsList fieldsGETLists the custom fields (columns) of a pipeline with their name, key, type and last update.update_box_field_valueUpdate box field valuePOSTSets the value of one custom field on a box and returns the field key and value.update_fieldUpdate fieldPOSTRenames a field of a pipeline. A field's type cannot be changed (Streak answers Can't change the type of a field).
Webhook, 6 operations
create_webhookCreate webhookPOSTRegisters a webhook that posts an event (such as BOX_CREATE or STAGE_CREATE) to a URL, for one pipeline (pipelineKey) or one team (teamKey).delete_webhookDelete webhookDELETEDeletes a webhook.get_webhookGet webhookGETReturns one webhook with its event, target URL, pipeline and creator.list_pipeline_webhooksList pipeline webhooksGETLists the webhooks registered on a pipeline, with event, target URL and creator.list_team_webhooksList team webhooksGETThis endpoint will get all the currently registered webhooks for a particular team. Webhooks are not scoped to a user so multiple users could have created these webhooks.update_webhookUpdate webhookPOSTChanges a webhook's event, target URL or token. A team webhook cannot become a pipeline webhook, or the reverse.
Box, 5 operations
create_boxCreate boxPOSTCreates a box (a deal or record) in a pipeline with its name and optionally its stage, notes and assignees, and returns it with its key.delete_boxDelete boxDELETEDeletes a box together with its files, emails and tasks.get_boxGet boxGETReturns one box: name, notes, stage, pipeline, custom field values keyed by field key, followers, and counts of comments, tasks, email threads and files.list_boxesList boxesGETLists the boxes of a pipeline, optionally only one stage, sorted by creation or last update, a page at a time (pages start at 0).update_boxUpdate boxPOSTUpdates a box: name, notes, stage, followers, linked boxes, assignees, contacts and organizations. Contact and organization lists replace the existing ones. Set field values with update_box_field_value.
Comment, 5 operations
create_commentCreate commentPOSTAdds a comment to a box and returns it with its key.delete_commentDelete commentDELETEDeletes a comment.get_commentGet commentGETReturns one comment with its box, author, time and message.list_box_commentsList box commentsGETLists the comments of a box with author, time and message.update_commentUpdate commentPOSTReplaces the text of a comment.
Pipeline, 5 operations
create_pipelineCreate pipelinePUTCreates a pipeline shared with a team, optionally with its custom fields and stages, and returns it with its key.delete_pipelineDelete pipelineDELETEDeletes a pipeline. Streak only deletes pipelines that are empty (no boxes).get_pipelineGet pipelineGETReturns one pipeline with its custom fields, stages (keyed by stage key), stage order, sharing and owner.list_pipelinesList pipelinesGETLists the pipelines the user can access, with their custom fields, stages (keyed by stage key), stage order, sharing and owner.update_pipelineUpdate pipelinePOSTRenames a pipeline, reorders its stages, or changes how it is shared (organization-wide, another team, ACL entries).
Snippet, 5 operations
create_snippetCreate snippetPUTCreates an email snippet (a reusable template) with its name, subject, text and keyboard shortcut, optionally in a pipeline.delete_snippetDelete snippetDELETEDeletes a snippet.get_snippetGet snippetGETReturns one email snippet with its name, text and type.list_snippetsList snippetsGETLists the user's email snippets with name, text and type.update_snippetUpdate snippetPOSTChanges a snippet's name, subject, text, shortcut or pipeline.
Stage, 5 operations
create_stageCreate stagePUTAdds a stage to a pipeline and returns it with its key.delete_stageDelete stageDELETEThis call lets you delete a stage defined in a pipeline. This call will only succeed if there are no boxes tagged with the key of this stage, else it throws a `400`.get_stageGet stageGETReturns one stage of a pipeline with its name and key.list_stagesList stagesGETLists the stages of a pipeline, returned as an object keyed by stage key whose values hold each stage's name and key.update_stageUpdate stagePOSTRenames a stage of a pipeline.
Task, 5 operations
create_taskCreate taskPOSTAdds a task to a box with its text and optionally a due date and assignees (by email), and returns it with its key.delete_taskDelete taskDELETEDeletes a task.get_taskGet taskGETReturns one task with its text, status, box, assignees and dates.list_box_tasksList box tasksGETLists the tasks of a box with text, status, assignees and dates.update_taskUpdate taskPOSTChanges a task: its text, due date, assignees, or status (DONE or NOT_DONE).
Contact, 4 operations
create_contactCreate contactPOSTCreates a contact in a team (it needs a name or an email address); with getIfExisting true, returns the existing contact with that email instead.delete_contactDelete contactDELETEDeletes a contact and removes it from its boxes.get_contactGet contactGETReturns one contact with its name, title, email addresses, phone numbers, addresses, notes, social handles, team and timestamps.update_contactUpdate contactPOSTUpdates a contact's name, title, notes, email addresses, phone numbers, addresses, social handles or photo. Lists replace the existing ones, so send previous values with the new ones.
Meeting, 4 operations
create_meetingCreate meetingPOSTAdds a meeting note or a call log to a box with its start time, duration and notes, and returns it with its key.delete_meetingDelete meetingDELETEDeletes a meeting note or call log.list_box_meetingsList box meetingsGETLists the meeting notes and call logs of a box with type, start time, duration and notes.update_meetingUpdate meetingPOSTChanges a meeting note or call log: its type, start time, duration or notes.
Organization, 4 operations
create_organizationCreate organizationPOSTCreates an organization in a team from a name or websites; with getIfExisting true and only domains, returns the existing organization with those websites instead.delete_organizationDelete organizationDELETEDeletes an organization and removes it from its boxes.get_organizationGet organizationGETReturns one organization with its name, websites, industry, phone numbers, addresses, employee count, logo, notes and social handles.update_organizationUpdate organizationPOSTUpdates an organization's name, industry, employee count, logo URL, notes or social handles.
Thread, 4 operations
add_thread_to_boxAdd thread to boxPUTAdds a Gmail thread (by its Gmail thread id, as seen by the API key's user) to a box and returns the box's threads.get_threadGet threadGETReturns one email thread of a box: subject, participants' names and emails, Gmail thread id, files and timestamps.list_box_threadsList box threadsGETLists the email threads in a box with participants, Gmail thread id, files and timestamps.remove_threadRemove threadDELETERemoves an email thread from its box.
Newsfeed, 3 operations
get_box_newsfeedGet box newsfeedGETThis endpoint will give the historical changes for a particular box. It is limited to the 50 most recent events.get_newsfeedGet newsfeedGETThis endpoint will give you not only the historical changes for all pipelines, but also the historical changes for all boxes contained within all the pipelines this user has access to. It is limited to the 50 most recent events.get_pipeline_newsfeedGet pipeline newsfeedGETThis endpoint will give you not only the historical changes for a particular pipeline, but also the historical changes for all boxes contained within the pipeline. It is limited to the 50 most recent events.
File, 2 operations
get_fileGet fileGETReturns one file's details: name, type, MIME type, size, owner, box and Gmail ids.list_box_filesList box filesGETLists the files of a box with name, type, MIME type, size, owner and Gmail ids.
Team, 2 operations
get_teamGet teamGETReturns one team with its name, creator and members (role, invite status, name, email).list_my_teamsList my teamsGETLists the teams the user belongs to, with their members (role, invite status, name, email).
Me, 1 operation
get_current_userGet current userGETReturns the user behind the API key: email, display name, user key and timestamps.
Search query query, 1 operation
searchSearchGETSearches boxes, contacts and organizations by a text query. Box results can be limited to a pipeline or a stage.
Timeline, 1 operation
get_box_timelineGet box timelineGETReturns a box's timeline (emails, comments, files, meetings, call logs, tasks, newsfeed entries), one page at a time, filtered by entity type and ordered by time.
User, 1 operation
get_userGet userGETReturns the public details of a user: email, display name and timestamps.
Use Streak from Claude Code, Cursor or Codex
Connect Streak in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Streak operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Streak
- Create your workspace
Sign up free. Nothing to install.
- Connect Streak once
Add your Streak connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Streak integration FAQ
What can you do with the Streak integration?
LiveContext exposes 71 operations on Streak, covering field, webhook, box and comment.
