Back

Streak API Essential Guide

Aug 14, 20246 minute read

What type of API does Streak provide?

The search results do not contain any specific information about the type of API Streak provides. The most common API types today are REST, GraphQL, and SOAP, but the search results do not mention which type Streak uses.

To determine the API type used by Streak, it would be necessary to consult their official API documentation or contact their support or developer relations team. Without direct information from Streak, the API type cannot be definitively determined based on the general API information provided in the search results.

Does the Streak API have webhooks?

Webhook Support

Yes, the official Streak API does support webhooks. Streak refers to these as "native webhooks" and they allow you to create integrations between Streak and other applications.

Types of Webhooks

Streak supports two main types of webhooks:

  1. Inbound Webhooks
  2. Outbound Webhooks

Inbound Webhooks

Inbound webhooks act as triggers to start automations in Streak. They allow you to integrate with external systems that support webhooks. When you create an inbound webhook in Streak, you get an endpoint URL that you can use in external systems to notify Streak when something happens.

Outbound Webhooks

Outbound webhooks are used as action steps in Streak automations. They allow Streak to send data to external applications when certain events occur in Streak.

Supported Events

While the search results don't provide an exhaustive list of events you can subscribe to, they do mention a few examples:

  1. For inbound webhooks, you can choose the HTTP method (GET, POST, PATCH, PUT).
  2. For outbound webhooks, you can choose from GET, POST, PATCH, PUT, and DELETE methods.

The specific events you can subscribe to likely depend on the actions and data available within Streak, but the search results don't provide a comprehensive list.

How to Use Webhooks in Streak

To use webhooks in Streak:

  1. Go to the pipeline you want to automate
  2. Click the three vertical dots in the upper-right corner of the pipeline
  3. Select "Integrations & Automation"
  4. From there, you can create inbound or outbound webhooks

Key Points to Consider

  1. Webhook functionality is available on Streak's Pro+ or Enterprise plan.
  2. You can create up to 16 webhook endpoints on each Streak account.
  3. For security, it's important to verify that events are sent from Streak and to implement best practices like handling duplicate events and processing events asynchronously.

Best Practices

While not specific to Streak, some general webhook best practices include:

  1. Verifying webhook signatures to ensure events are genuinely from the expected source.
  2. Handling duplicate events by logging processed event IDs.
  3. Only subscribing to event types your integration requires to reduce server load.
  4. Processing events asynchronously to handle spikes in webhook deliveries.

It's worth noting that while these search results provide some information about Streak's webhook capabilities, they don't offer a comprehensive list of all available events you can subscribe to. For more detailed information, you may need to consult Streak's official API documentation or contact their support team.

Rate Limits and other limitations

Based on the search results provided, here are the key points regarding the API Rate Limits of the Streak API:

Rate Limits

  1. Streak does not have a hard rate limit, but they ask users to notify them if planning to do more than 10 requests per second [2].

  2. Google currently limits projects to an API rate limit of 20 requests per second, which may affect Streak API usage depending on the nature of the requests [2].

Key Considerations

  • While Streak doesn't enforce a strict limit, they recommend staying within 10 requests per second to avoid potential issues [2].
  • The Google API limit of 20 requests per second may indirectly affect Streak API usage, especially for requests that interact with Google services [2].

Best Practices

  1. Monitor your API usage to stay within the recommended 10 requests per second limit.
  2. Implement rate limiting on your end to prevent exceeding the recommended threshold.
  3. If you need to perform more than 10 requests per second, contact Streak support to discuss your use case and potential solutions.

Additional Information

  • Streak uses HTTP Basic Auth for authentication, and all calls must be over HTTPS [2].
  • Unless otherwise noted, all date properties in Streak API responses are represented in milliseconds since epoch (Jan 1, 1970) [2].

It's important to note that while Streak doesn't enforce a strict rate limit, it's best to adhere to their recommendations to ensure smooth API operations and avoid potential issues with Google's API limits.

Latest API Version

Based on the search results provided, I don't have specific information about the most recent version of the Streak API. The search results don't mention any version numbers for the API. However, I can provide some relevant information about the Streak API:

Key points about the Streak API:

  • The Streak API is a RESTful interface that allows programmatic access to most Streak functionality.

  • The API documentation is available at https://streak.readme.io/.

  • The API can be used to create and modify pipelines, boxes, fields, tasks, and other core Streak objects.

  • Webhooks are supported to build responsive workflows and automations.

  • There is a Node.js wrapper package available called "streakapi" for easier integration.

API Capabilities

The Streak API allows you to:

  • Create and modify pipelines and boxes
  • Build responsive workflows using webhooks
  • Extract, transform and load data from Streak
  • Access user information, threads, files, tasks, and more

API Documentation

The official API documentation is regularly updated and maintained by Streak's engineering and support teams. It provides details on authentication, endpoints, request/response formats, and more.

Getting Help

For specific questions about the Streak API, it's recommended to email [email protected].

While I don't have information on the exact latest version, the API documentation website would likely have the most up-to-date information on any versioning or recent changes. You may want to check there for the most current details on the API version.

How to get a Streak developer account and API Keys?

Here's how to get a developer account for Streak to create an API integration:

Getting a Streak API Key

To create an API integration with Streak, you need to obtain an API key. Here are the steps to get one:

  1. Log into your Streak account in Gmail.
  2. Click on the Streak icon in Gmail's top bar.
  3. Select the "Integrations" option from the menu. This will open a window where you can manage integrations and API keys.
  4. In the sidebar of the Integrations window, select "Custom Integrations".
  5. Click the button to "Create new key".

Key Points to Consider

  • Your API key has the same privileges as your Streak account. Any pipelines you can access in Streak will be available via the API.
  • Keep your API key secret and only share it with applications you trust.
  • If you suspect your API key has been compromised, you can delete it and create a new one.

Best Practices

  • Store your API key securely and never expose it in client-side code.
  • Use HTTPS when making API requests to ensure your key is transmitted securely.
  • Implement proper error handling in your integration to deal with rate limits or API changes.

Authentication

When using the Streak API, you'll need to include your API key in the authentication header of your requests. Here's an example of how to structure an API request using the axios library:

import { axios } from "@pipedream/platform" export default defineComponent({ props: { streak: { type: "app", app: "streak", } }, async run({steps, $}) { return await axios($, { url: `https://www.streak.com/api/v1/users/me`, auth: { username: `${this.streak.$auth.api_key}`, password: ``, }, }) }, })

This code snippet demonstrates how to make an authenticated request to the Streak API to retrieve information about the current user.

What can you do with the Streak API?

Based on the search results provided, here is a list of data models you can interact with using the Streak API, along with what is possible for each:

Pipelines

  • Create new pipelines
  • Modify existing pipelines
  • Pull all data from a pipeline into a JSON object

Boxes

  • Create new boxes
  • Update box properties
  • Update field values for a box
  • Link boxes to other boxes
  • Change a box's pipeline
  • Change a box's stage within a pipeline

Tasks

  • Create new tasks associated with boxes

Contacts

  • Create new contacts within a team

Comments

  • Create new comments within a pipeline

Users

  • Retrieve information about the authenticated user

Webhooks

  • Set up webhooks to trigger actions based on events in Streak

Key capabilities:

  • Create and modify core Streak objects like pipelines, boxes, tasks, etc.
  • Extract data from pipelines for reporting/analysis
  • Build responsive workflows using webhooks
  • Perform bulk updates and data syncing
  • Automate CRM processes and integrate with other tools

Limitations:

  • Some Gmail-specific features like email tracking and mail merge are not available via the API

The Streak API provides programmatic access to most of the core CRM functionality available in the Streak application, allowing developers to automate workflows, sync data, and build integrations with other systems. The API uses RESTful principles and supports common operations like creating, reading, updating and deleting the main Streak data models.