Branded Email
send_email delivers a branded HTML email (plus a plain-text part). When it isn’t, emails go out as plain text exactly as before — nothing changes and nothing breaks.
How the Linkage Works
Branding is data you own, not a fixed template. You store it once in a Branding record and point an agent at it. At send time the platform composes the HTML from that record — the assistant never writes HTML itself, so every email is consistent and safe.
| Step in the chain | What it means |
|---|---|
| Branding record | Holds the brand: logo URL, colors, fonts, header and footer HTML, company address, website, contact email, and optional guidelines. |
| Agent → Branding lookup | On the Agent Definition, the Branding field points to the brand this agent should use. Leave it blank for plain-text email. |
send_email resolves it | When the agent sends, the platform follows the conversation to its agent, reads the agent’s linked Branding, and — if the brand is Active — wraps the message in branded HTML. |
| Recipient receives | A branded HTML email and a plain-text version, so it renders everywhere. |
Because the reference lives on the agent, a client running two businesses in one org simply keeps two Branding records and points each agent at the right one. Different agents can use different brands; an agent with no linked brand keeps sending plain text.
Step-by-Step: Brand Your Emails
-
Open the Branding tab › New
Give the brand a Name (e.g. “Acme Realty”). You can fill the fields by hand, or let AI do it — see Optimize Branding with AI below.
-
Set a public Logo URL
Enter Logo URL — an absolute, publicly reachable image URL (PNG/JPG) hosted on your website or CDN. Recipients are external and cannot load permission-gated Salesforce file links, so the logo must be public.
-
Add colors and a font
Primary Color (headings/accents), plus optional Accent, Text and Background colors as hex values (e.g.
#0B5CAB), and an email-safe Font Family.Optionally set Website URL, Contact Email and Company Address — the brand's public details, available for your header and footer markup so the same values don't have to be retyped into every template.
There is also a Guidelines field for brand voice and tone. Nothing reads it today — it is not part of the email layout and does not shape AI-generated copy. It is captured for reference and for future branding-aware features, so fill it in if it is useful to your team, but do not expect it to change any output.
-
Write the header and footer
Header HTML is your masthead (brand name / tagline). Footer HTML must include your mailing address and an unsubscribe link — this is required by anti-spam law and by activation.
-
Activate the brand
Check Is Active. Activation is blocked until a Primary Color, a Footer, and a Logo URL are present, so a brand is never sent half-finished. Drafts can be saved inactive while you build them.
-
Link the brand to an agent
Open the agent (Agent Definitions) and set its Branding lookup (in Context & Persona) to this record.
-
Send a test email
Have the agent send an email to an address you can check. The recipient sees your branded email; an agent with no Branding set still sends plain text for comparison.
Optimize Branding with AI
Rather than typing every field, you can let AI read a brand document and propose the values for you.
- On the Branding record, open the Optimize Branding with AI panel.
- Upload a brand document — a letterhead, brand-guidelines PDF, or brochure (PDF, image, or text).
- Click Optimize with AI. The assistant reads the document and proposes colors, fonts, header/footer, address, website, contact email and guidelines.
- Review the proposed values, then Apply to Record (or Discard). You stay in control — nothing is saved until you apply.
- Set your Logo URL (AI does not extract the logo image) and activate the brand.
What the Recipient Receives
For a branded agent, send_email sends a multipart email — a plain-text part (for non-HTML clients and accessibility) and the branded HTML part, composed top to bottom as:
- Header — your logo and header HTML, with a brand-colored accent.
- Message — the agent’s text, followed by the sender’s signature (the running user’s Salesforce signature, or a name / role / email fallback).
- Footer — your address and unsubscribe link.
The signature is the personal sign-off inside the message; the brand footer (address, unsubscribe) sits separately below it. Recipient resolution, activity history, org-wide From address and reply tracking all work exactly as for a plain email — see Email Channel — Outbound.
Advanced: Bring Your Own HTML
For pixel-perfect control, put a complete HTML email in the branding record’s Wrapper HTML field with a {{body}} marker where the message should go. When set, the platform uses that HTML verbatim — injecting the agent’s message at {{body}} — instead of composing from the individual color and header/footer fields. Leave it blank to use the standard composition.
Scope & Channels
- All channels. Branding applies to Internal, External Widget, Community, and API agents alike — it’s controlled entirely by whether the agent has an active brand linked.
- Email only. WhatsApp and SMS remain plain text (they can’t be visually branded).
- Backward compatible. No brand linked → plain-text email with the auto-signature, exactly as before.
- Branding is how an email looks, not who it is from. The sending address, the display name and the reply address are separate, and are set through the agent’s instructions — see Choosing the Sender and Reply Address. A branded email can still be sent from any verified identity, and an unbranded one can too.
Changes included in 1.16000
Task and event tools can accept additional field values, including permitted Contact/Lead associations. Agent-sent emails use the configured branding on supported server-executed paths; test a draft or an internal recipient after merging your tool definitions.
Frequently Asked Questions
Check that the agent’s Branding lookup points to a record whose Is Active is checked. If either is missing, the agent sends plain text. Also confirm the send came from that agent’s conversation.
Salesforce’s built-in EmailMessage viewer blocks external images. The logo is embedded in the email HTML and renders in the recipient’s real inbox — confirm by checking the delivered email, not the in-Salesforce preview.
Yes. Create a Branding record per brand and point each agent at the right one via its Branding lookup. There is no single org-wide brand.
No. The assistant only writes the plain-text message. The platform composes the branded HTML deterministically from your Branding record, so every email is consistent and the message text can never inject markup.
Next Steps
See Email Channel — Outbound for how sending, recipient resolution and reply tracking work, or Configuring Agent Settings to set the Branding lookup on your agent.