Back

Dialpad API Essential Guide

Aug 16, 20246 minute read

What type of API does Dialpad provide?

Based on the search results, Dialpad appears to have a REST API. The Dialpad developers page refers to "Actionable APIs" and mentions features like OAuth access, which are commonly associated with REST APIs. The page also talks about connecting workflows and automating business communications, which aligns well with REST API capabilities. There is no mention of SOAP, GraphQL, or other API types specifically for Dialpad. REST is currently one of the most popular API architectures for web services, so it's a likely choice for a modern communications platform like Dialpad.

Does the Dialpad API have webhooks?

Yes, the official Dialpad API does have webhooks. Here are the key points about Dialpad's webhook and event subscription capabilities:

Webhook Support

Dialpad supports webhooks for receiving event notifications in real-time.

Event Types

You can subscribe to several types of events through the Dialpad API webhooks:

  1. Call Events
  2. SMS Events
  3. Contact Events
  4. Agent Status Events
  5. Change Log Events

Key Features

  • Events can be subscribed to for an entire company, office, or more granular targets like call centers or individual users.
  • Events are sent to a webhook URL that you provide as a company admin or developer.
  • Payloads sent to webhooks can be JWT encoded or JSON encoded, depending on your configuration.
  • For security, events are sent in JWT format and signed with a secret you share with Dialpad.

Creating Subscriptions

To start receiving events:

  1. Build an HTTP service on the public internet to receive the webhooks.
  2. Create an event subscription using Dialpad's API, providing the URL of your HTTP service.
  3. Generate a secure string to use as the secret when creating the event subscription.

Subscription Limits

  • Subscriptions are limited to 100 per subscription type for all targets combined under a Dialpad Company.
  • Subscriptions targeting the Company itself are limited to 10 per subscription type.

Alternative: Websocket Subscriptions

In addition to traditional webhooks, Dialpad also offers event subscriptions via websockets, which can be useful for frontend applications.

Best Practices

  • Use a unique secret string for each subscription to enhance security.
  • Be prepared to handle disconnections, as websocket connections will be disconnected after 1 hour for security reasons.

In summary, Dialpad's API offers a robust webhook system that allows you to subscribe to a variety of event types, providing real-time notifications for calls, SMS, contacts, agent status, and system changes.

Rate Limits and other limitations

The Dialpad API has several rate limits in place to protect their services and ensure fair usage. Here are the key points about the API rate limits:

Overall Rate Limit

  • The overall rate limit is 20 requests per second per company [2].

Specific API Limits

Dialpad also enforces limits on specific API endpoints:

  1. Create contacts: 100 requests per minute [2]

  2. Initiate calls: 5 requests per minute per user target [2]

  3. Send SMS: 100 requests per minute [2]

  4. Callback requests:

    • To a specific number: 5 requests per minute [2]
    • To a specific call center: 100 requests per minute [2]
    • To a specific company: 1000 requests per minute [2]
  5. Update call router configuration: 1 request per 5 minutes [2]

  6. Stats API: 200 requests per hour [1]

Key Considerations

  • The rate limits are applied at the company level, not per API key [2][5].
  • Using multiple API keys from the same company will not increase the rate limit [5].
  • If you exceed the rate limit, you may receive error responses from the API.

Best Practices

  1. Implement proper error handling in your code to deal with rate limit errors.
  2. Consider implementing a backoff strategy if you hit rate limits frequently.
  3. Optimize your API usage by batching requests where possible and avoiding unnecessary calls.

It's important to note that these rate limits may change over time, so it's a good idea to check the official Dialpad API documentation for the most up-to-date information on rate limits.

Latest API Version

Based on the search results provided, I cannot determine the most recent version of the Dialpad API. The search results do not contain specific information about API versions. Instead, they primarily focus on recent product updates, features, and general information about Dialpad's developer offerings.

Here are some key points to consider:

  1. The most recent changelog entry mentioned is from April 2023, but this does not specifically refer to API versions.

  2. Dialpad offers APIs for various functionalities, including voice, SMS, user management, analytics, and contact center.

  3. Dialpad provides a Python client library to make it easier to use their APIs in Python applications.

  4. The company regularly updates its products and features, with the most recent updates mentioned being from April 2024.

To find the most recent version of the Dialpad API, you would likely need to:

  1. Check the official Dialpad API documentation, which is not provided in these search results.
  2. Contact Dialpad's developer support team for the most up-to-date information.
  3. Look for any version information in the API endpoints or responses when making API calls.

If you need the exact version of the Dialpad API, I recommend reaching out to Dialpad's developer support or checking their official API documentation for the most accurate and current information.

How to get a Dialpad developer account and API Keys?

Step 1: Request Sandbox Access

  1. Go to the Dialpad Developers page (https://www.dialpad.com/developers/).

  2. Click on the "Get Started" button to request Sandbox access.

  3. Fill out the form to request a Dialpad Sandbox developer account.

Step 2: Build and Test Your App

  1. Once you have Sandbox access, request OAuth access to build and test your app.

  2. Register your OAuth application with Dialpad by submitting the registration form.

  3. You'll receive a client ID and client secret, which are required for the OAuth flow.

  4. Implement the OAuth flow in your application:

    • Redirect users to Dialpad's authorize endpoint
    • Handle the callback with the authorization code
    • Exchange the code for an access token
  5. Use the Dialpad APIs to develop and test your integration in the Sandbox environment.

Step 3: Publish Your App

  1. Once your app is ready, publish it on the Dialpad Marketplace.

  2. This will make your integration available to Dialpad customers.

What can you do with the Dialpad API?

Based on the search results, here are the key data models you can interact with using the Dialpad API:

Call Data

  • Interact with call events and call data
  • Retrieve call logs
  • Access call recordings and AI-generated transcripts

User Management

  • Manage users (e.g. create new users, update user information)

Messaging

  • Send and receive SMS messages
  • Access SMS event data

Contacts

  • Manage contact information
  • Receive contact events (new contacts, updated contacts)

Agent Status

  • Monitor agent status events for contact center agents

Analytics

  • Generate analytic reports programmatically
  • Access call and messaging analytics data

Voice Routing

  • Configure call routing via APIs

Other Events

  • Subscribe to various event types via webhooks (calls, SMS, contacts, etc.)

Authentication

  • Authenticate and authorize API access using OAuth

The Dialpad API allows you to interact with core communication data and functionality, enabling automation and integration of voice, messaging, user management, analytics, and contact center capabilities. The API provides both read access to data as well as the ability to take actions like sending messages or managing users.