
I’m building a Zap that uses Webhooks by Zapier → Custom Request to call the OpenAI Chat Completions API. A static JSON payload works perfectly, but as soon as I try to inject the dynamic Body Plain field from my “New Email Matching Search” trigger, I get this error:
We could not parse the JSON body of your request. (HINT: This likely means you aren’t using your HTTP library correctly. The OpenAI API expects a JSON payload, but what was sent was not valid JSON…)
What I’ve tried so far:
-
Manually typing
{{New_Email_Matching_Search.Body_Plain}}
wrapped in escaped quotes (\"…\"
). -
Using the ➕ Insert Data picker to inject the variable.
The Zap is supposed to automatically monitor unread emails in my Gmail inbox, extract each message’s full text (Body Plain), and send that content to ChatGPT via a webhook, and generate a personalized draft response. It then creates that response as a Gmail draft in the original thread so I can quickly review and send it.