MCP App Store
Business & Operations
Streak icon

Streak

by Rewardly, Inc.

Overview

Streak is a CRM built directly into Gmail, so you can track deals, contacts, and workflows from your inbox. Emails are logged automatically, pipelines update as conversations move forward, and notes and tasks stay attached to the work they belong to—without copying data into another tool. Designed for teams and individuals who manage sales, partnerships, or customer relationships primarily over email and want a clear, up-to-date view of their work.

Tools

add_call_log

ChatGPT
Add a call log entry to a box with notes and duration. Use this when: logging a phone call or recording call notes. Do not use for: viewing call history.

add_thread_to_box

ChatGPT
Add a Gmail thread to a box. PREREQUISITE: You need a box key and a Gmail thread id. Use search, filter_boxes, get_recent_boxes, or get_box to find a box key first. Use this when: associating an existing Gmail conversation with a specific Streak box.

assign_box

ChatGPT
Assign a box to users by email address, or unassign all users by passing an empty string. Use this when: assigning, reassigning, or unassigning a box. Do not use for: viewing box details (use get_box).

create_box

ChatGPT
Create a new box in a pipeline with optional stage and assignment. Use this when: creating a new deal, lead, case, project, ticket, or other pipeline row in Streak. PREREQUISITE: Use list_pipelines to discover pipeline keys. If setting a stage or assigning teammates, call get_pipeline first to discover stage keys and users with access. The box name and pipeline key are required. The stage defaults to the first stage in the pipeline. Use stage keys, not stage names. The assignee defaults to the current user. Use comma separated email addresses for multiple assignees. Do not use for: updating existing boxes (use update_box_stage or assign_box) or searching boxes (use search or filter_boxes).

create_comment

ChatGPT
Create a new top-level comment on a box. Supports @mentions for users who already have access to the box. PREREQUISITE: You need a box key. Use search, filter_boxes, get_recent_boxes, or get_box to find one first. To mention someone, include @name, @email, or @email-local-part in the message. Do not use for: replying to an existing comment. Replies are not supported by this tool because the current MCP surface does not provide a way to select an existing comment as a reply target.

create_contact

ChatGPT
Create a team contact and link it to a box, or update/return the matching existing contact when one already matches by email or name. Use this when: adding a person to a specific Streak box. Provide boxKey and at least one of givenName, familyName, or emailAddresses for the contact. Set include_all_emails to true to automatically pull in on all the emails with this contact into the box.

create_organization

ChatGPT
Create a team organization and link it to a box, or return the matching existing organization when getIfExisting is true and a domain already exists. Use this when: adding a company/account to a specific Streak box. The box determines which team owns the organization. Provide boxKey and at least one of name or domains. Set include_all_emails to true to include all team emails with that organization in the box.

create_task

ChatGPT
Create a new task in a box with optional due date and assignment. Useful for setting reminders and tracking follow-ups. Use this when: adding a task, setting a reminder, or tracking something to do for a box. Do not use for: viewing existing tasks.

feedback

ChatGPT
Send feedback to Streak when you wanted to do something through the Streak MCP or API, but no available tool supports it. Use this whenever a Streak MCP/API capability is missing. Provide the desired tool or capability and the high-level user goal. This feedback is very valuable because it helps Streak add the right MCP tools soon. Do not include sensitive or personal information, customer data, email addresses, names, message contents, or Streak record keys. Summarize the missing capability instead.

fetch

ChatGPT
Get complete details for an item found via search. Required for Deep Research mode. Takes a search result ID (format: 'type:key' like 'box:abc123') and returns full content. Use this when: you performed a search and need detailed information. Do not use for: direct lookups by key (use get_box, get_contact, or get_pipeline).

filter_boxes

ChatGPT
Filter boxes in a pipeline with structured filters and sorting. PREREQUISITE: Call get_pipeline first to discover stage keys, field names, dropdown/tag options, and users. IMPORTANT: Most queries need 2+ filters. Identify ALL criteria in the query. Example: "my active deals" needs: [{ field: "assignedTo", operator: "equals", value: "me" }, { field: "stageKey", operator: "equals", value: "Active" }] Example: "boxes in Scheduled stage for Cooldown sprint" needs: stageKey filter + Sprint filter SYSTEM FIELDS (primary filters - check these first): stageKey (workflow stage), assignedTo (owner), createdBy, creationTimestamp, lastUpdatedTimestamp, lastStageChangeTimestamp, name, notes OPERATORS BY FIELD TYPE: TEXT (name, notes, custom text fields): - 'contains'/'not_contains': substring search - 'equals'/'not_equals': exact match - 'is_set'/'is_not_set': check if has value Example: { field: "name", operator: "contains", value: "Acme" } DATE (creationTimestamp, lastUpdatedTimestamp, custom date fields): - 'greater_than'/'less_than': compare dates (ISO-8601 UTC) - 'equals': exact date match - 'is_set'/'is_not_set': check if date is set Example: { field: "creationTimestamp", operator: "greater_than", value: "2025-01-15T10:30:00Z" } NUMBER (taskTotal, totalNumberOfEmails): - 'greater_than'/'less_than': numeric comparison - 'equals'/'not_equals': exact value Example: { field: "taskTotal", operator: "greater_than", value: "5" } DROPDOWN (stageKey, custom dropdown fields): - 'equals'/'not_equals': match by name or key - 'is_set'/'is_not_set': check if selected Example: { field: "stageKey", operator: "equals", value: "5001" } TAG (custom tag fields): - 'includes': has ANY of specified tags (use 'values', not 'value') - 'excludes': has NONE of specified tags - 'is_set'/'is_not_set': check if any tags Example: { field: "Tags", operator: "includes", values: ["9001", "9002"] } USER (assignedTo, createdBy, followers, taskAssignees, incompleteTaskAssignees, overdueTaskAssignees, custom person fields): - 'includes': specific user(s) by email (use 'values') - 'excludes': exclude specific user(s) - 'contains': partial name/email text search (use 'value') - 'equals': single user match or "me" for current user - 'is_set'/'is_not_set': check if assigned Example (by email): { field: "assignedTo", operator: "includes", values: ["user@example.com"] } Example (custom person): { field: "Account Manager", operator: "includes", values: ["manager@example.com"] } CHECKBOX (custom checkbox fields): - 'is_set': checkbox is checked (true) - 'is_not_set': checkbox is unchecked (false) Example: { field: "Approved", operator: "is_set" } SORTING: sorts: [{ field: "lastUpdatedTimestamp", direction: "desc" }] All filters combined with AND. Do not use for: keyword search (use search), single box lookup (use get_box).

get_box

ChatGPT
Get detailed information about a box by its key. Use this when: you have a box key and need detailed information such as custom field values, notes, magic columns, or linked contacts/organizations. Do not use for: searching boxes (use search or filter_boxes).

get_box_summary

ChatGPT
Return the latest stored AI summary for a box by its key. Use this when: the user asks for the existing full AI summary, next steps, or concise digest of a specific box. This does not generate a new summary or consume AI summary credits. To create or refresh a summary, use regenerate_box_summary.

get_box_tasks

ChatGPT
Get all tasks on a specific box by box key. Returned taskKey values can be passed to update_task. Use this when: the user asks for tasks/reminders/followups on a specific box, or you need a task key before updating a task in a known box. PREREQUISITE: Use a box key returned by search, filter_boxes, get_recent_boxes, create_box, get_box, or fetch. Do not use for: creating tasks (use create_task), updating tasks (use update_task), or listing upcoming tasks across boxes (use get_upcoming_tasks).

get_contact

ChatGPT
Get detailed information about a contact by its key. Use this when: you have a specific contact key. Do not use for: searching contacts (use search or search_contacts).

get_current_user

ChatGPT
Get information about the authenticated user including name, email, time zone, and current date/time. Use this when: personalizing responses or needing user context. Do not use for: finding other users.

get_pipeline

ChatGPT
Use this when you need detailed information about a specific pipeline, including its stages, custom fields/columns, saved views, and users with access. Do not use for: listing all pipelines (use list_pipelines) or searching by name (use search).

get_recent_boxes

ChatGPT
PRIORITY TOOL: Check this first when users mention boxes without specific criteria. Get boxes recently viewed by the current user. Use this when: user asks about recent boxes, 'what was I working on', or refers to a box without specifying its name. Missing (call get_box for): custom field values, notes, email/task counts, linked contacts/organizations. Do not use for: searching by name (use search) or filtering by criteria (use filter_boxes).

get_upcoming_tasks

ChatGPT
Get upcoming incomplete tasks assigned to the current user. Optionally limit results to a single pipeline. Use this when: the user asks what tasks are coming up, what reminders they have, or what they need to work on next. Do not use for: creating tasks (use create_task) or looking up all tasks on a specific box (use fetch/get_box as needed).

list_pipelines

ChatGPT
List all pipelines the current user has access to. Use this when: discovering available pipelines or when the user asks to see their pipelines/CRMs. IMPORTANT: This returns stage/field COUNTS only, NOT actual names/keys. If you need stage keys, field names, or user list, you must call get_pipeline first. Do not use for: getting pipeline details (use get_pipeline) or finding boxes (use filter_boxes).

regenerate_box_summary

ChatGPT
Generate and return a fresh AI summary for a box by its key. Use this when: the user explicitly asks to generate, regenerate, refresh, or update a box summary. This persists the new summary to the box and consumes AI summary credits. To read the existing full summary without generating a new one, use get_box_summary. For existing generated short summaries, use get_box, fetch, filter_boxes, or get_recent_boxes.

update_box

ChatGPT
Update a box's name, notes, stage, assignees, and/or custom field values in a single call. Use this when: editing a box's title, changing its notes, moving it to a different stage, assigning or reassigning users, or setting custom field values such as a dropdown, tag, checkbox, date, or text field. PREREQUISITE: Call get_pipeline to discover stage keys, custom field keys and types, dropdown/tag option keys (use the 'key' property), and users with access for assignment. Stage and dropdown/tag values may be passed as the key or the display name. Provide at least one of name, notes, stageKey, assignedTo, or fields. Pass an empty string for notes to clear them, or for assignedTo to unassign all users. For dropdown/tag fields, prefer an existing option key or name from get_pipeline. Passing an unknown value silently creates a new option on the pipeline field, so avoid typos and casing variants. When that happens the returned field value is a new option key you have not seen — re-fetch get_pipeline to refresh your cached option list and tell the user a new option was created. Do not use for: creating boxes (use create_box) or reading box details (use get_box). For a single focused change, assign_box and update_box_stage are alternatives.

update_box_stage

ChatGPT
Move a box to a different stage in its pipeline. PREREQUISITE: Call get_pipeline first to discover available stage keys (use 'key' property, not 'name'). Use this when: updating deal status, moving to next stage, or changing workflow state. Do not use for: getting box details (use get_box) or other box modifications.

update_task

ChatGPT
Update a task's text, due date, completion status, and/or assignees in a single call. Use this when: editing a task/reminder/followup, marking a task done or not done, changing its due date, clearing its due date, assigning it to users, or unassigning all users. PREREQUISITE: Use task keys returned by create_task, get_upcoming_tasks, or get_box_tasks. Assigned users must be provided as email addresses with access to the task's pipeline. Provide at least one of text, dueDate, status, or assignedTo. Pass an empty string for dueDate to clear it, or for assignedTo to unassign all users. Do not use for: creating tasks (use create_task) or reading upcoming tasks (use get_upcoming_tasks).

Example Prompts

Click any prompt to copy it.

App Stats

25

Tools

1

Prompts

Feb 5, 2026

First seen

ChatGPT

Platforms

Category

CRM Records

Works with

ChatGPT

Data refreshed daily