#Can't Get Diarization To Work Via Zapier

1 messages · Page 1 of 1 (latest)

round dragon
#

Hey team! I'm having a problem with where the Diarization of a call is not being used when I make the request via Zapier.

**This was my latest request ID where I could reproduce this; **
13bd7c84-d8cb-432c-a649-a611548c8c35

Here is how I am using Deepgram right now:

I currently have a Zap setup to retrieve a call URL from my CRM (GoHighLevel) and then sends it off to Deepgram to transcribe (see the Zap action screenshot attached).

When I test it, it's not coming back with a transcript broken down by speaker (See the second screenshot of the Zap Test)

The URL being used in the Post webhook action which sends the URL to deepgram is "https://api.deepgram.com/v1/listen?diarize=true"

The data used is:

{
"url": "{{recordingUrl}}",
"model": "nova-3",
"diarize": true
}

Is the URL or Data wrong in the Zapier Data body? How can I fix this?

I have not duplicated this question on your GitHub forum. Can you help?

brave sierraBOT
#

Hi @round dragon. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:

#

Based on the information in your question and the available knowledge sources, here’s what you need to know about using Deepgram’s diarization feature via Zapier:

1. How to Enable Diarization

To enable diarization, you must set the diarize parameter to true. This can be done either as a query parameter in the URL or as a parameter in the request body. However, you should not include the same parameter in both places, and the correct place for each parameter depends on the API and integration you are using.

  • For Deepgram’s API, diarization is typically enabled by adding diarize=true to the query string of the URL, e.g.:
    <https://api.deepgram.com/v1/listen?diarize=true>
    
  • In the request body, you should include only parameters that are not already in the query string. If you include both, the query string takes precedence.

2. Zapier Integration Specifics

Zapier’s Deepgram integration expects you to provide a publicly accessible URL to the audio file and configure transcription options in the Zapier action form. The documentation does not specify that you should include model or diarize in the JSON body; instead, these should be set as configuration options in the Zapier UI for the Deepgram action, not in the data payload. If you use the “Create Deepgram API Request” action, you can specify query parameters in the URL, but you should avoid duplicating them in the body.

Deepgram’s Zapier integration only accepts a publicly accessible URL audio file. If you need to convert raw audio to a URL, we recommend using the Cloud Convert integration to convert the audio file to a URL.
Zapier and Deepgram

3. Troubleshooting Diarization Not Working

#
  • Check Audio Quality: Diarization accuracy depends on audio quality. Low-quality audio or audio with overlapping speakers may not be diarized correctly.
    Speaker diarization not working
  • Model Selection: Some models may have issues with diarization. If you’re using nova-3 and not getting speaker labels, try switching to another model (e.g., nova-2-general, nova-2-phonecall, or nova-2-meeting) to see if results improve.
    Diarization not working
  • Parameter Placement: Do not include diarize in both the query string and the body. Use the query string for diarization and model selection, and only include the URL in the body:
    {
      "url": "{{recordingUrl}}"
    }
    
    And set the Zapier action’s configuration for model and diarization.

4. Example Correct Setup

Zapier Action:

  • Endpoint:
    <https://api.deepgram.com/v1/listen?diarize=true&model=nova-3>
    
  • Data (body):
    {
      "url": "{{recordingUrl}}"
    }
    

5. Additional Notes

  • If diarization still does not work, try testing your request in the Deepgram API Playground with the same audio file to see if the issue is with the audio or the Zapier integration.
  • If you continue to get a “wall of text” with no speaker labels, it may be due to model limitations or audio quality, as discussed in several support threads.

Summary:
Remove "diarize": true and "model": "nova-3" from your JSON body and set them only in the query string of the URL. Ensure your audio file is high quality and publicly accessible. If diarization still fails, try a different model or test the audio in the Deepgram API Playground to isolate the issue.

#

@round dragon Kapa.ai is still learning and improving, please let me know how I did by reacting below.

round dragon
brave sierraBOT
#

Let me check the knowledge base for you again. One moment! :books:

#

You are using the correct approach by removing "model" and "diarize" from the JSON body and specifying them in the query string, like:

<https://api.deepgram.com/v1/listen?diarize=true&model=nova-2>

or

<https://api.deepgram.com/v1/listen?diarize=true&model=nova-2-phonecall>

A 128kbps bit rate is generally sufficient for diarization, so audio quality is likely not the issue in your case.

However, based on the knowledge sources, there are some important caveats:

  • Diarization is not always reliable: Even with the correct parameters and good audio, diarization may not work as expected. There are multiple reports of diarization returning only a single speaker or not distinguishing speakers, even with clear audio and correct settings. This can be due to model limitations, audio characteristics, or current issues with the diarization feature itself. For example, diarization issues have been reported with both nova-2 and nova-2-phonecall models, and sometimes switching models does not resolve the problem. Deepgram's engineering team is aware of these issues and is investigating them Diarization not working Diarization not working on some Nova-2 models Simple issue with diarization.

  • Audio properties matter: Even with a good bit rate, diarization can fail if the audio has overlapping speakers, very short speaker turns, or other challenging characteristics. There are also cases where lower quality or compressed audio (even at 128kbps) can impact diarization accuracy Speaker diarization not working.

#
  • Zapier integration limitations: The Zapier integration requires a publicly accessible URL and the correct query parameters, which you are using. There is no indication in the knowledge sources that Zapier itself would block diarization if the API call is correct Zapier and Deepgram.

What you can try next:

  1. Test the same audio and parameters in the Deepgram API Playground: If diarization does not work there either, the issue is likely with the model or the audio, not Zapier.
  2. Try other models: Sometimes diarization works better with models like nova-2-meeting or nova-2-general, depending on your audio type Diarization not working.
  3. Check for speaker separation: If your audio is a stereo file with each speaker on a separate channel, consider using the multichannel feature instead of diarization for more reliable speaker separation When To Use Multichannel and Diarization.
  4. If diarization is critical and still not working: You may need to wait for improvements from Deepgram’s engineering team, as diarization issues are a known and reported problem.

Summary:
You are using the correct URL and approach. If diarization is still not working, it is likely due to current limitations or issues with Deepgram’s diarization feature, not your setup. Testing in the API Playground can help confirm this. If you need further troubleshooting, providing a request ID to Deepgram support may help them investigate your specific case.

#

If you need more details or want to share your request ID with Deepgram support, they can look deeper into the logs for your request, as suggested in the knowledge sources Diarization not working on some Nova-2 models.

Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: