Webhook config for Play.ht


I am hoping there is someone that can offer advice on configuring a webhook to receive notifications from play.ht when a task completes. I’ve managed to get the API workflow on the backend operational, and it functions correctly in ‘detect parameters’ mode. However, when I switch to ‘manual detection’ and update the webhook URL, I encounter problems. It seems to be an authentication issue. Play.ht documentation indicates that the webhook request will include a bearer token generated on play.ht’s side, which I have set up according to their instructions. My impression is that Bubble expects the authentication token to be generated within Bubble’s API configuration.

Here is the documentation I am referring to: Play.ht API TTS Webhooks Documentation.

I am using the play.ht 2.0 voices:

PlayHT voices v2 webhooks will contain a Authorization: Bearer YOUR_API_KEY header.

Has anyone successfully integrated an API with play.ht and can offer some guidance?

That is a reasonable assumption but Bubble doesn’t work that way for incoming webhooks. :slight_smile:

If the API WF on the backend is operational, you just need to generate an API token for the integration (settings → API → API Tokens) and of course make sure the WF has the following settings:

Thanks for the reply but that only confuses me more. I have exposed the public API and I have created an API key in Bubble however play.ht uses its own API key to authenticate. My question is, given that play.ht uses it’s own API key how do I configure Bubble to use that instead of the Bubble API key ?

If they don’t let you edit the API key then the only workaround I can think of off the top of my head is (but theres likely a better way) to put a conditional on the API workflow looking for the play API key ( stored in a config table so different value for dev and prod) before allowing the workflow to proceed

Thanks again. That did cross my mind but the issue I seem to be encountering at the moment is when I switch the bubble workflow from ‘Detect request data’ (which works) to ‘Manual definition’ it doesn’t work - even if I have the Back-end workflow set to ‘this workflow can be run without authentication’. I seem to be going round in circles.

Why are you switching to manual?

1 Like

Bingo! That’s what I needed to hear. I assumed that ‘auto detect’ was only used for ‘initialisation’ - I stand corrected. It now works.

Thanks again.