All document types
Dynamics 365 Customer Serviceincidentcontactactivitypointer

Generate a case summary from Dynamics 365 Customer Service

Support teams write the same summary three times: once for the customer, once for the escalation, once for the handover. Each is the case record read aloud: who, what, how urgent, when it was opened, what has happened since.

The case summary starter renders that from the incident record and its timeline. The primary contact comes through a many-to-one link-entity, the activities through a one-to-many on activitypointer ordered newest first, and a case without a description prints a single italic line saying so rather than an empty heading.

Unlimited watermarked use, no time limit. $2,400 a year per tenant removes the watermark.

How it works

From record to case summary in 4 steps

01

Download the case summary template

Bound to incident, with contact as primarycontact and activitypointer as activities. It uses {{#unless}} for the no-description fallback.

02

Load it in Template Studio

New Template, bound table incident, upload, paste manifest and sample data, preview.

03

Generate from the case

Open the record, click Generate document, choose the template and Word or PDF. The file attaches to the record's timeline without a flow.

04

Send it at milestones

A flow on case status Resolved can generate the summary as PDF and email it to the contact, with the resolution and the activity list included.

The template

Start from the case summary starter

Timestamps use _raw with a format ({{incident._raw.createdon:d MMMM yyyy HH:mm}}) so they read consistently regardless of the generating user's locale. Add {{incident.resolution}} or a knowledge-article lookup by logical name if your process records them.

  • Case number, status and preparation date
  • Customer, primary contact with email and phone, priority, origin, type, subject, product, owner
  • Opened and resolve-by timestamps formatted the way you want
  • Description, with an italic fallback line when the case has none
  • Timeline activities: date, type, subject, status, newest first

Tokens in the template

Case {{incident.ticketnumber}} · {{incident.statuscode}} · {{incident.prioritycode}}
{{incident.title}}

Contact: {{#each incident.primarycontact}}{{fullname}} · {{emailaddress1}}{{/each}}
Opened {{incident._raw.createdon:d MMMM yyyy HH:mm}} · resolve by {{incident._raw.resolveby:d MMMM yyyy HH:mm}}

{{#if incident.description}}{{incident.description}}{{/if}}
{{#unless incident.description}}No description was recorded on the case.{{/unless}}

{{#each incident.activities}}{{_raw.createdon:d MMM yyyy}} | {{activitytypecode}} | {{subject}} | {{statecode}}{{/each}}

Paste any of this into the template playground with the sample data to see it render in your browser.

Questions
Can the summary include only certain activity types?
Yes. Add a filter on activitytypecode inside the activities link-entity in the manifest. The resolver carries link-entity filters and order clauses through to the query.
Does the customer's email address get sent anywhere?
Only into the document, which is generated in your environment. Nothing in the data is transmitted to VerseBlocks or any other party.
Can agents generate it without a security role change?
Generation runs under the calling user's Dataverse privileges. Anyone who can read the case and its activities, and has the VerseDocs user role, can generate the summary.

Rendered in your tenant. Priced per tenant.

VerseDocs is a managed solution of Dataverse plug-ins. Templates, field values and generated files stay in your environment. Try every feature free with a watermark; one licence key removes it for every environment, user and document in the tenant.