Skip to content
GActionGoHighLevelUpdated May 2026

How do I send an email via GoHighLevel?

Short answer: Drop the "GoHighLevelSend GoHighLevel Email" action anywhere in your workflow, map the inputs from upstream nodes, and publish.

Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
Contact ID
contactId
stringRequiredThe contact to email.
Subject
subject
stringRequiredEmail subject line.
HTML Body
html
stringOptionalHTML email body. Use this for formatted/branded emails.
Plain Text Body
text
stringOptionalPlain-text fallback. Provide html OR text — at least one is required.
From Email
fromEmail
stringOptionalSender address. Defaults to the location's configured sender.
From Name
fromName
stringOptionalSender display name.
Sample request
{
"contactId": "ocQHyuzHvysMo5N5VsXc",
"subject": "Welcome to Acme",
"html": "<p>Hi {{contact.firstName}}, welcome aboard!</p>",
"text": "Hi Jane, welcome aboard!",
"fromEmail": "support@acme.com"
}
Returns
{
"status": "sent",
"messageId": "msg_xyz789",
"conversationId": "conv_abc123",
"emailMessageId": "email_xyz"
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Send GoHighLevel Email.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Send GoHighLevel Email.

What does the Send GoHighLevel Email action do in GoHighLevel?
Sends a one-shot email to a contact via the GHL email system. Useful for transactional sends triggered by external events that should appear in the GHL contact timeline.
What inputs does Send GoHighLevel Email require?
Required: Contact ID, Subject. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if GoHighLevel returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Send GoHighLevel Email support batch operations?
Yes. Run Send GoHighLevel Email inside a Loop node to process arrays. Tiny Command handles GoHighLevel's rate limits automatically so you don't have to throttle manually.
More actions

Other GoHighLevel actions.

Send send gohighlevel email from your workflows.

Triggered by anything in the catalog. Free tier available. No credit card.