Setup guides · Recordings in

Twilio

Each completed recording is fetched from Twilio (with your Account SID and Auth Token, stored encrypted), transcribed, and filed with the caller as the customer and the dialled number as the agent. Every post is signature-checked against your Auth Token.

Checked 2026-08-29 · every step is done on your Flows page or inside Twilio; nothing here needs support.

On Twilio's side

These are the same steps your Flows page prints on the source card.

  1. In the Twilio Console open the Voice number or TwiML app that takes the calls.
  2. Turn on recording (Record="record-from-answer" on <Dial>, or "record": true on the API call) and set recordingStatusCallback to the MeetNotes URL from this card, with recordingStatusCallbackEvent=completed.
  3. Copy the Auth Token from Console > Account Info and paste it here as the signing secret — every post is checked against it and unsigned posts are refused.
  4. Under "If the recording needs a login", choose Username and password and paste the Account SID as the username and the Auth Token as the password (recordings are private by default).
  5. Save. Twilio posts a form per completed recording; the caller is recorded as the customer and the dialled number as the agent.

What to paste from your flow card

  • The MeetNotes URL from the source card — as recordingStatusCallback, with recordingStatusCallbackEvent=completed.
  • Into MeetNotes, not the other way: the Auth Token as the signing secret, and the Account SID + Auth Token under "If the recording needs a login" (recordings are private by default).

What we never ask for: Your Twilio console password or a full-access API key. The Auth Token is used only to verify signatures and to download the recording; it is stored encrypted and never shown again.

How to test

  1. Place one short call to the number.
  2. Watch the recent activity on your Flows page: receiveddone.
  3. A 401 unsigned request in Twilio's debugger means the Auth Token pasted here is not the one signing the posts — paste it again.

When an event shows failed or skipped

The Flows page prints one short reason per event. Here is what each one on this connector means and what to do.

  • fetch failed — We could not download the recording from the link the provider sent — the link had expired, it needed a login we do not hold, the file was over 300 MB, it pointed at a private address, or the server did not answer. We retry a few times before giving up. If your recordings need a login, set "If the recording needs a login" on the source.
  • audio files only — The file was not audio — a picture, a document, or (except from a Drive folder) a video. Only a Drive folder source accepts video; every other door wants an audio file.
  • audio unreadable — The file was named like audio but could not be decoded: empty, cut short, or not the format its name claims. Not retried. Send the recording again from the provider.
  • no minutes — Your workspace had no pooled minutes left, so we did not download the recording. Skipped, not retried. Top up the pool and have the provider send the recording again.
  • processing failed — The recording came in but something on our side failed after that. We are alerted automatically; if it keeps happening, write to support@getmeetnotes.com with the reference shown on the Flows page.
  • unsigned request — The post carried no valid signature. Either the signing secret pasted on the source does not match the one in the provider's console, or the provider is posting from a place that does not sign. Paste the current secret again; nothing unsigned is ever accepted.
  • recording not ready — The provider told us about the call before its recording was finished. Skipped for now; when the completed recording is posted the same reference is revived and processed once.

The full list, across every connector, is on the setup index.

Ready to connect it?

Open your workspace's Flows page — managers and owners see it under the team.

Download on the App StoreGet it on Google Play