Skip to main content
This guide covers Zapier’s API Request step and n8n’s HTTP Request node, where you enter a Descript endpoint’s method, URL, and JSON body yourself. Use it when you need an API option that Descript’s Zapier integration doesn’t expose in its own fields, such as per-file transcription languages, multitrack sequences, composition dimensions or clip order, folder placement, or DOCX and SRT transcripts. For everything else in Zapier, use Descript’s Zapier integration, which handles authentication, job polling, and response parsing for you. If you’re building an integration in your own code rather than in an automation tool, skip this article and use the API documentation, which has request schemas and code samples. To run the same operations by chatting with an AI assistant, use the Descript MCP.
These steps involve third-party toolsWe make an honest effort to provide workflows for using the Descript API with these external tools, but your mileage may vary. If you run into issues using the Descript API with tools like Zapier and n8n, please contact the relevant support team for assistance.

Before you begin

You’ll need three things:
  1. A Descript API token (create one here)
  2. A Zapier account, or an n8n account with access to an HTTP Request node
  3. The Descript API documentation open for reference

Set up API the connection

  1. In your Zap, add a new action step.
  2. Search for API by Zapier and select it. Note: this is a premium feature, and may not be available on all Zapier plans.
  3. Choose API Request as the action event.
  4. Click Connect a new account. A configuration window opens.
  5. Fill in the fields in the table below.
  6. Click Yes, Continue to API by Zapier.
Use your own API tokenAs with the built-in integration, each team member should use their own token. We recommend against sharing the connection with your Zapier organization.
If you’re using n8n, create an HTTP Request node instead. Add the same Authorization and Content-Type headers shown in the table.

Find the endpoint URL

In the API documentation, open the endpoint you want to call. Expand Endpoint URL in the right-hand sidebar to copy the URL you’ll paste into Zapier.
Descript's API docs, with the Endpoint URL drawer expanded in the right-hand sidebar

Configure the request

Depending on the endpoint you’re calling, you will need to specify a given set of inputs and values. Back in Zapier, fill in the action fields:
  1. Set the HTTP Method to match the docs (usually POST).
  2. Paste the full URL from the docs.
  3. In the Body fields, enter your JSON payload. Reference data from earlier Zap steps using Zapier’s {{field}} syntax — for example, passing a project ID from an earlier Import Media step.
You don’t need to add authentication headers here. They’re included automatically from the connection you set up earlier.

Handle the response

The built-in Descript Zapier actions handle polling and response parsing for you. When calling API Request directly, two patterns matter: Async endpoints (import, agent edit, publish) return a job_id in JSON. You’ll need a follow-up step to poll GET https://descriptapi.com/v1/jobs/{{job_id}} until the job completes, or pass a callback_url in your request body to have Descript notify a Zapier webhook when the job finishes. Sync endpoints (transcript export) return the file content directly — not JSON. Zapier’s API Request action expects JSON responses, so these may not parse cleanly. If you run into issues, try using a text-based format (like txt or markdown for transcripts) instead of binary formats (like docx), or handle the request in a Code by Zapier step where you have more control over the response. Direct file upload requires a second request: first request signed upload URLs from the import endpoint, then send each file’s bytes to its signed URL. Follow the Direct file upload guide for that flow. A Code by Zapier step or n8n may be easier than API by Zapier when you need to send raw file bytes.