Go High Level Integration - Meta Data / Function help

Hey team,

I’m currently building a workflow using the Retell AI integration inside GoHighLevel and I’ve hit a limitation I’d like clarity on.

My goal is:

  1. Trigger a Retell chat from a GHL workflow (Create Chat action)
  2. Pass custom field data from GHL (e.g. workshop date, time, location) into the Retell conversation at the start

Right now, I see that:

  • The “Create Chat” action allows selecting the agent and version
  • But there is no clear way to pass dynamic variables or metadata from GHL into the chat session

So my questions are:

  1. Is there a native way within the GHL → Retell integration to pass custom fields (metadata / variables) into a chat when using “Create Chat”?
  2. Or is the only supported method to pass structured data via an external webhook/API (e.g. create-chat endpoint)?
  3. If using tool-based retrieval (Get Contact), is that the intended best practice for accessing GHL contact fields inside Retell conversations?
  4. Are there plans to support dynamic variable injection directly in the GHL Retell action (similar to how webhooks allow retell_llm_dynamic_variables)?

Right now, it seems like we must rely on either:

  • tool-based retrieval during the conversation, or
  • bypass the plugin and use webhooks for full control

Just want to confirm the intended architecture and best practice here.

Thanks!

Hi @derektgrossi

To clarify how things work:

  1. Retell’s /create-chat API natively supports both metadata and retell_llm_dynamic_variables — you can pass custom fields and dynamic variables when creating a chat via our API. Full details are in our [API docs](https://docs.retellai.com/api-references/create-chat).

  2. The GHL → Retell integration is a third-party connector, not built natively by Retell. Whether the GHL action UI exposes fields for metadata or dynamic variables depends on how that connector was built. If it doesn’t currently support passing those fields, the recommended approach is to call Retell’s /create-chat API directly (e.g., via GHL’s HTTP webhook action or a custom workflow step) so you have full control over metadata and retell_llm_dynamic_variables.

  3. Using tool-based retrieval (e.g., a “Get Contact” custom function) to fetch GHL contact data during a conversation is a valid and commonly used pattern. It works well when you need to pull data dynamically mid-conversation.

  4. Regarding plans for dynamic variable injection directly in the GHL action — since that integration is maintained by a third party, we’d recommend reaching out to the GHL integration developer for feature requests on their side. On Retell’s end, our API already supports this functionality.

In short, the most flexible approach is to use Retell’s API directly (bypassing the GHL native action) when you need to inject metadata or dynamic variables.

Thank You

Love it, thanks for the speedy reply!

Quick follow-up: Is there a roadmap feature (down the line) for a native integration into GHL at some point (made by retell)?

You can submit this as a Feature Requests so our team can review and consider it for future improvements.

Thank You

1 Like