Skip to main content

Merge Fields for Dynamic Recipients

Dynamically filtered schedules let a single schedule send a personalized report to many recipients at once, each one filtered to their own data. This article covers how to personalize the email itself by using merge fields in the subject and body.

Before you start

You'll need:

  • A schedule with Dynamic Filter (filtered recipients) turned on.

  • An Email Template selected for that schedule.

  • A Premium subscription. Dynamically filtered recipients are a Premium feature; if you're on Plus or Free, you won't see the Dynamic Filter option.

How merge fields resolve for filtered recipients

On a regular (non-filtered) schedule, you pick a single "Source for Recipient Record Merge Field" and "Source for Related Record Merge Field," and every email uses those same two records. Filtered schedules work differently: instead of one static source, each recipient supplies their own merge field data, based on the object type you selected for that recipient.

  • Person recipients (Contact, Lead, or User): the recipient's own record is used as the Recipient merge field source. Merge fields like {{{Recipient.FirstName}}} (Lightning template) or {!Contact.FirstName} (Classic template) resolve from that person's record.

  • Other object recipients (Account, Opportunity, or a custom object): the recipient's record is used as the Related Record merge field source instead. Merge fields like {{{Account.Name}}} resolve from that record.

  • Person Account recipients: because a Person Account is both a person and an account, it can supply both Recipient and Related Record merge fields at once.

Because of this, the "Source for Recipient Record Merge Field" and "Source for Related Record Merge Field" pickers don't appear on a filtered schedule; they're not needed, since the recipient object you already selected automatically determines the source.

When adding a recipient to a filtered schedule, you can choose an object. This is the object you want to use for your merge fields.

Setting up merge fields for a filtered schedule

Step 1: Decide which object your recipients will be

Look at how you've filtered your schedule and decide what type of record each recipient row will be:

  • If recipients will be people (Contact, Lead, or User), your merge fields will use the Recipient source.

  • If recipients will be another object (Account, Opportunity, or a custom object), your merge fields will use the Related Record source.

  • If recipients will be Person Accounts, you can use both.

Step 2: Add merge fields for that object to your Salesforce email template

In Salesforce, create or edit the email template you'll use for this schedule, and insert merge fields for the object you chose in Step 1. Merge fields use standard Salesforce syntax, the same as any other Salesforce email template:

  • Lightning email templates: double or triple curly braces. For a person recipient, use the Recipient prefix, e.g. {{Recipient.FirstName}} or {{{Recipient.FirstName}}}. For another object, use that object's name, e.g. {{{Account.Name}}}.

  • Classic email templates: the {!ObjectName.FieldName} format, e.g. {!Contact.FirstName} for a person recipient, or {!Account.Name} for another object. If you're building a Classic template, set its Related Entity Type to match the object you chose in Step 1, so that object's fields show up in the merge field picker.

Any field on the resolved object is available, not a fixed list. Since Salesforce merge fields support relationship traversal, you can often reach related data through the recipient record itself (for example, a Contact's Account name) rather than needing a separate Related Record merge field. Confirm this works for your setup using Preview before relying on it. Organization.* and Sender.* merge fields work as usual and don't depend on the recipient at all.

Adding merge fields to a Lightning email template.

Step 3: Select the email template on your schedule

Back in Report Sender, select the email template you just built as the Email Template for your dynamically filtered schedule. Since the schedule already has Dynamic Filter turned on, the recipient object you set up for each row is what resolves the merge fields, so there's nothing else to configure.

Step 4: Preview before you send

Use the Preview option on your schedule to check how the email will actually look. The template preview includes a dropdown to select a specific recipient, so you can see the resolved merge field values exactly as that recipient will receive them, before the schedule ever sends.

Warnings you might see

Report Sender checks your email template's merge fields against each recipient before you send, and flags mismatches so you can fix them ahead of time rather than discovering the issue after a send. You may see a warning if:

  • A recipient is a custom value. If you add a manually typed email address instead of a Salesforce record, there's no record to resolve merge fields from, so any merge field in your template will be left blank or unresolved for that recipient.

  • A person recipient is selected, but the template needs a Related Record field. For example, your template references {{Account.Name}}, but the recipient for that row is a Contact rather than an Account.

  • A non-person recipient is selected, but the template needs a Recipient field. For example, your template references {{Recipient.LastName}}, but the recipient for that row is an Opportunity.

  • The template uses both Recipient and Related Record merge fields, and the recipient isn't a Person Account. A single recipient can supply only one or the other unless it's a Person Account, which can supply both.

These warnings show up in the recipient table when you're setting up the schedule, and again in Template Preview, so you can catch and fix a mismatch before saving or sending.

Limitations

  • Classic email templates don't get the same validation. Lightning templates are checked for merge field mismatches before you save or send. Classic templates aren't; Salesforce may still populate relationship fields from the current record as part of its native behavior, which Report Sender can't control.

  • This only applies to filtered report schedules. Regular (non-filtered) schedules and dashboard schedules keep using the existing "Source for Recipient Record Merge Field" and "Source for Related Record Merge Field."

  • A recipient can't supply both Recipient and Related Record merge fields. Unless that recipient is a Person Account.

Did this answer your question?