Benefits:

  • Get data from parental entities
  • Easy usage in Power Automate flow
  • Insert template parts into an email at cursor position
  • Optional default sender (queue or user) in template
  • Optional default recipient (account, contact, lead, queue or user) in template
  • Optional default attachments in template (for example terms and conditions)

Installation:

  • Go to https://portal.ctse.nl
  • Create a new user account or sign in with an existing user account
  • Go to the solution section and choose PowerDoc (or go to https://portal.ctse.nl/solutions/emailtemplate), click on “Download” and download the solution files.
  • Go to the license section (or go to https://portal.ctse.nl/licenses).
  • If you want a trial license, click on the button “Request trial”, choose for solution “Email Template Solution” and fill in the environment url where the solution will be used (for example: https://contoso.crm4.dynamics.com).
  • Add the entity “C-tse Email Templates” (ctse_emailtemplate) to your app and security roles.
  • Go to the entity C-tse Module Config (ctse_moduleconfig) and add a new record:
    • Name: licensekey.emailtemplate
    • Value: the license key

Usage from template customizer:

  • Go to the entity C-tse Email Template (ctse_emailtemplate) and add a new record
  • In the rich text editor you can click on the button “{ ; }” where you can add placeholders
  • In a Power Automate Flow:
    • you can use these Dataverse Bound Actions (bound to entity C-tse Email Template):
      • ctse_emailtemplate_createemail
      • ctse_emailtemplate_parsecontent
    • you can pass custom parameters with additional data (only if editor type is Default)

Note: only the first party in the to and regardingobject fields on the email entity can be used as placeholder to retrieve data.

Usage from user perspective

  • On the email entity form the default template and signature buttons have been replaced by a new Email Template button where the user can select an email template.

Some example placeholders:

To get the firstname of the contact recipient (to) with alternate text Mr/Ms:

{!contact@to:firstname;Mr/Ms} or when using Freemarker: ${To.contact.firstname!”Mr/Ms”}

To get the name of the sender (from) without alternate text:

{!systemuser@from:fullname;} or when using Freemarker: ${From.systemuser.fullname}

To get the parent account name of the recipient (to) without alternate text:

{!contact@to:parentcustomerid.name;} or when using Freemarker: ${To.contact.parentcustomerid.account.name;}

To get information from the regarding object:

{!quote@regarding:parentopportunityid.name;} or when using Freemarker: ${Regarding.quote.parentopportunityid.opportunity.name}

Available build-in placeholders (only if editor type is Default):

current datetime (now):

{!buildin:now;dd-MM-yyyy HH:mm:ss;} or when using Freemarker: ${.now?dd-MM-yyyy HH:mm:ss;}

Parameters placeholders (only if template is used from a flow):

{!parameters:test1;} or when using Freemarker: ${Parameters.test1;}