← Twilio

Download Recording Media with Twilio API

Pipedream makes it easy to connect APIs for Twilio and 1000+ other apps remarkably fast.

Trigger workflow on
HTTP requests, schedules and app events
Next, do this
Download Recording Media with the Twilio API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜

Trusted by 500,000+ developers from startups to Fortune 500 companies

Adyen logo
Brex logo
Carta logo
Checkr logo
Chameleon logo
DevRev logo
LinkedIn logo
Netflix logo
New Relic logo
OnDeck logo
Replicated logo
Scale AI logo
Teamwork logo
Warner Bros. logo
Xendit logo

Developers Pipedream

Getting Started

Create a workflow to Download Recording Media with the Twilio API. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Configure the Download Recording Media action
    1. Connect your Twilio account
    2. Select a Recording ID
    3. Select a Format
    4. Configure File Path
  2. Select a trigger to run your workflow on HTTP requests, schedules or app events
  3. Deploy the workflow
  4. Send a test event to validate your setup
  5. Turn on the trigger

Integrations

Download Recording Media with Twilio API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + Twilio
 
Try it
Download Recording Media with Twilio API on New Item in Feed from RSS API
RSS + Twilio
 
Try it
Download Recording Media with Twilio API on New Message from Discord API
Discord + Twilio
 
Try it
Download Recording Media with Twilio API on New Message In Channels from Slack API
Slack + Twilio
 
Try it
Download Recording Media with Twilio API on New Message in Channel from Discord Bot API
Discord Bot + Twilio
 
Try it

Details

This is a pre-built, source-available component from Pipedream's GitHub repo. The component is developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Download Recording Media on Twilio
Description:Download a recording media file. [See the docs](https://www.twilio.com/docs/voice/api/recording#fetch-a-recording-media-file) for more information
Version:0.1.1
Key:twilio-download-recording-media

Code

import twilio from "../../twilio.app.mjs";
import got from "got";
import stream from "stream";
import { promisify } from "util";
import fs from "fs";

export default {
  key: "twilio-download-recording-media",
  name: "Download Recording Media",
  description: "Download a recording media file. [See the docs](https://www.twilio.com/docs/voice/api/recording#fetch-a-recording-media-file) for more information",
  version: "0.1.1",
  type: "action",
  props: {
    twilio,
    recordingID: {
      propDefinition: [
        twilio,
        "recordingID",
      ],
    },
    format: {
      propDefinition: [
        twilio,
        "format",
      ],
    },
    filePath: {
      type: "string",
      label: "File Path",
      description: "The destination path in [`/tmp`](https://pipedream.com/docs/workflows/steps/code/nodejs/working-with-files/#the-tmp-directory) for the downloaded the file (e.g., `/tmp/myFile.mp3`)",
    },
  },
  async run({ $ }) {
    // Get Recording resource to get `uri`
    const recording = await this.twilio.getRecording(this.recordingID);
    const client = this.twilio.getClient();
    // `uri` ends in ".json" - remove ".json" from uri
    const uri = client.api.absoluteUrl(recording.uri).replace(".json", "");
    // Add chosen download format extension (e.g. ".mp3"), as specified in the Twilio API docs:
    // https://www.twilio.com/docs/voice/api/recording#fetch-a-recording-media-file
    const downloadUrl = uri + this.format;
    const pipeline = promisify(stream.pipeline);
    const resp = await pipeline(
      got.stream(downloadUrl),
      fs.createWriteStream(this.filePath),
    );
    $.export("$summary", `Successfully downloaded the recording media file to "${this.filePath}"`);
    return resp;
  },
};

Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
TwiliotwilioappThis component uses the Twilio app.
Recording IDrecordingIDstringSelect a value from the drop down menu.
FormatformatstringSelect a value from the drop down menu:{ "label": "MP3", "value": ".mp3" }{ "label": "WAV", "value": ".wav" }
File PathfilePathstring

The destination path in /tmp for the downloaded the file (e.g., /tmp/myFile.mp3)

Authentication

Twilio uses API keys for authentication. When you connect your Twilio account, Pipedream securely stores the keys so you can easily authenticate to Twilio APIs in both code and no-code steps.

To connect your Twilio account to Pipedream,

First, create an API key in Twilio.

  • There are two types of keys: Master and Standard. You'll need a Master key to interact with certain API endpoints, like /Accounts.
  • If you don't need to interact with those endpoints, you can use a Standard key.

After creating your key, you'll see fields for Sid and Secret. Enter those in the fields below.

About Twilio

Cloud communications platform for building SMS, Voice & Messaging applications on an API built for global scale

More Ways to Use Twilio

Triggers

New Incoming SMS (Instant) from the Twilio API

Emit new event every time an SMS is sent to the phone number set. Configures a webhook in Twilio, tied to an incoming phone number.

 
Try it
New Call (Instant) from the Twilio API

Emit new event each time a call to the phone number is completed. Configures a webhook in Twilio, tied to a phone number.

 
Try it
New Phone Number from the Twilio API

Emit new event when you add a new phone number to your account

 
Try it
New Recording from the Twilio API

Emit new event when a new call recording is created

 
Try it
New Transcription from the Twilio API

Emit new event when a new call transcription is created

 
Try it

Actions

Send SMS with the Twilio API

Send a simple text-only SMS. See the docs for more information

 
Try it
Make a Phone Call with the Twilio API

Make a phone call, passing text that Twilio will speak to the recipient of the call. See the docs for more information

 
Try it
Send MMS with the Twilio API

Send an SMS with text and media files. See the docs for more information

 
Try it
Delete Call with the Twilio API

Remove a call record from your account. See the docs for more information

 
Try it
Delete Message with the Twilio API

Delete a message record from your account. See the docs for more information

 
Try it