streak

Streak CRM API for Gmail. Use when user mentions "Streak", "Gmail CRM", "email CRM", or pipeline in Gmail.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "streak" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-streak

Streak CRM

Streak is a CRM built entirely inside Gmail. Use this skill to manage pipelines, boxes (deals), contacts, organizations, tasks, and email threads via the Streak API.

Official docs: https://streak.readme.io/reference


When to Use

Use this skill when you need to:

  • Manage sales pipelines and deal stages
  • Track leads, contacts, and organizations
  • Associate email threads with deals
  • Create tasks and comments on deals
  • Search across boxes, contacts, and organizations

Prerequisites

  1. Install the Streak extension in Gmail
  2. Navigate to Gmail > Streak icon > Integrations > Streak API > Create New Key
  3. Copy your API key

Set environment variable:

export STREAK_TOKEN="your-api-key"

How to Use

Authentication

Streak uses HTTP Basic Auth with your API key as the username and no password. In curl, use -u "$(printenv STREAK_TOKEN):" (note the trailing colon).


1. Get Current User

curl -s -X GET "https://api.streak.com/api/v1/users/me" -u "$(printenv STREAK_TOKEN):"

2. List All Pipelines

Pipelines represent business processes (Sales, Hiring, Projects, etc.).

curl -s -X GET "https://api.streak.com/api/v1/pipelines" -u "$(printenv STREAK_TOKEN):"

3. Get a Pipeline

curl -s -X GET "https://api.streak.com/api/v1/pipelines/{pipelineKey}" -u "$(printenv STREAK_TOKEN):"

4. Create a Pipeline

Write to /tmp/streak_request.json:

{
  "name": "New Sales Pipeline"
}

Then run:

curl -s -X PUT "https://api.streak.com/api/v1/pipelines" -u "$(printenv STREAK_TOKEN):" --header "Content-Type: application/json" -d @/tmp/streak_request.json

5. List Boxes in Pipeline

Boxes are the core data objects (deals, leads, projects) within a pipeline.

curl -s -X GET "https://api.streak.com/api/v1/pipelines/{pipelineKey}/boxes" -u "$(printenv STREAK_TOKEN):"

6. Get a Box

curl -s -X GET "https://api.streak.com/api/v1/boxes/{boxKey}" -u "$(printenv STREAK_TOKEN):"

7. Create a Box

Write to /tmp/streak_request.json:

{
  "name": "Acme Corp Deal"
}

Then run:

curl -s -X POST "https://api.streak.com/api/v1/pipelines/{pipelineKey}/boxes" -u "$(printenv STREAK_TOKEN):" --header "Content-Type: application/json" -d @/tmp/streak_request.json

8. Update a Box

Write to /tmp/streak_request.json:

{
  "name": "Updated Deal Name",
  "stageKey": "stageKey123"
}

Then run:

curl -s -X POST "https://api.streak.com/api/v1/boxes/{boxKey}" -u "$(printenv STREAK_TOKEN):" --header "Content-Type: application/json" -d @/tmp/streak_request.json

9. List Stages in Pipeline

curl -s -X GET "https://api.streak.com/api/v1/pipelines/{pipelineKey}/stages" -u "$(printenv STREAK_TOKEN):"

10. List Fields in Pipeline

curl -s -X GET "https://api.streak.com/api/v1/pipelines/{pipelineKey}/fields" -u "$(printenv STREAK_TOKEN):"

11. Get a Contact

curl -s -X GET "https://api.streak.com/api/v1/contacts/{contactKey}" -u "$(printenv STREAK_TOKEN):"

12. Create a Contact

Write to /tmp/streak_request.json:

{
  "teamKey": "teamKey123",
  "emailAddresses": ["john@example.com"],
  "givenName": "John",
  "familyName": "Doe"
}

Then run:

curl -s -X POST "https://api.streak.com/api/v1/contacts" -u "$(printenv STREAK_TOKEN):" --header "Content-Type: application/json" -d @/tmp/streak_request.json

13. Get an Organization

curl -s -X GET "https://api.streak.com/api/v1/organizations/{organizationKey}" -u "$(printenv STREAK_TOKEN):"

14. Search Boxes, Contacts, and Organizations

curl -s -X GET "https://api.streak.com/api/v1/search?query=acme" -u "$(printenv STREAK_TOKEN):"

15. Get Tasks in a Box

curl -s -X GET "https://api.streak.com/api/v1/boxes/{boxKey}/tasks" -u "$(printenv STREAK_TOKEN):"

16. Create a Task

Write to /tmp/streak_request.json:

{
  "text": "Follow up with client",
  "dueDate": 1735689600000
}

Then run:

curl -s -X POST "https://api.streak.com/api/v1/boxes/{boxKey}/tasks" -u "$(printenv STREAK_TOKEN):" --header "Content-Type: application/json" -d @/tmp/streak_request.json

17. Get Comments in a Box

curl -s -X GET "https://api.streak.com/api/v1/boxes/{boxKey}/comments" -u "$(printenv STREAK_TOKEN):"

18. Create a Comment

Write to /tmp/streak_request.json:

{
  "message": "Spoke with client today, they are interested."
}

Then run:

curl -s -X POST "https://api.streak.com/api/v1/boxes/{boxKey}/comments" -u "$(printenv STREAK_TOKEN):" --header "Content-Type: application/json" -d @/tmp/streak_request.json

19. Get Threads in a Box

Email threads associated with a box.

curl -s -X GET "https://api.streak.com/api/v1/boxes/{boxKey}/threads" -u "$(printenv STREAK_TOKEN):"

20. Get Files in a Box

curl -s -X GET "https://api.streak.com/api/v1/boxes/{boxKey}/files" -u "$(printenv STREAK_TOKEN):"

21. Get Meetings in a Box

curl -s -X GET "https://api.streak.com/api/v1/boxes/{boxKey}/meetings" -u "$(printenv STREAK_TOKEN):"

22. Create a Meeting Note

Write to /tmp/streak_request.json:

{
  "meetingDate": 1735689600000,
  "meetingNotes": "Discussed pricing and timeline.",
  "title": "Sales Call"
}

Then run:

curl -s -X POST "https://api.streak.com/api/v1/boxes/{boxKey}/meetings" -u "$(printenv STREAK_TOKEN):" --header "Content-Type: application/json" -d @/tmp/streak_request.json

23. Get Box Timeline

curl -s -X GET "https://api.streak.com/api/v1/boxes/{boxKey}/timeline" -u "$(printenv STREAK_TOKEN):"

Guidelines

  1. Keys: Pipeline keys, box keys, and other identifiers are alphanumeric strings returned by the API
  2. Timestamps: Use Unix timestamps in milliseconds for date fields (e.g., dueDate, meetingDate)
  3. Rate Limits: Be mindful of API rate limits; add delays between bulk operations
  4. Stages: To move a box to a different stage, update the box with the new stageKey
  5. Email Integration: Streak is tightly integrated with Gmail; threads are Gmail thread IDs
  6. Team Key: When creating contacts, you need a teamKey which can be obtained from the teams endpoint

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

google-sheets

No summary provided by upstream source.

Repository SourceNeeds Review
246-vm0-ai
General

apify

No summary provided by upstream source.

Repository SourceNeeds Review
214-vm0-ai
General

hackernews

No summary provided by upstream source.

Repository SourceNeeds Review
169-vm0-ai
General

serpapi

No summary provided by upstream source.

Repository SourceNeeds Review
164-vm0-ai