A hands-on guide · Pega 24.2 · 25.1 · 26.1

Document
Content Engine.

Write a letter once, then show it on screen, as a PDF or in an email. This guide sets up the engine in Pega Constellation v25, step by step, and shows how to go beyond two conditional variants.

Begin the set-up →6 phases · 15 steps · PDF and email ready

How it fits together

Three layers, one document.

The engine separates what a document says (the paragraphs) from where it goes (the browser, a PDF, an email). You describe the document once, in three small tables, and the engine assembles the final HTML each time.

The three layersTry it: pick a layer to see where you set it up
  1. ResultFinal HTML

Document Type

Defines a document and links it to its sections.

Where you set it up
Data → Document Content Type table
In this guide
DOC0003 · Payment Reminder

Play first

Build a letter yourself.

Before any set-up, see the idea work. This is a simulation of how the engine resolves the example from this guide: a Payment Reminder letter with one paragraph that depends on the member’s level. Change the member, then break things on purpose to see the exact symptoms you will meet later.

Letter simulatorTry it: switch STANDARD and GOLD, then tick a mistake

MembershipLevel on the case

Make a mistake on purpose

The letter on screen

Dear Sam Rivera,

Your bill of $120.00 is now overdue. Please pay now.

Yours sincerely, The ACME Team

What the engine did

  1. GenerateDocumentContent(DocumentID = DOC0003)
  2. Section LETTER_START: 1 paragraph row
  3. PR_Salutation: not conditional, include
  4. Section LETTER_BODY: 2 paragraph rows
  5. PR_BodyStandard: IsParagraphApplicable, row MembershipLevel = STANDARD is true, include
  6. PR_BodyGold: IsParagraphApplicable, no row matched, otherwise returns false, skip
  7. Section LETTER_END: 1 paragraph row
  8. PR_Closing: not conditional, include

The Paragraph table, and which rows made it in

  • PAR0101LETTER_START · seq 1PR_SalutationincludedDear << pyWorkPage.CustomerName >>,
  • PAR0102LETTER_BODY · seq 1PR_BodyStandardincludedYour bill of << pyWorkPage.AmountDue >> is now overdue. Please pay now.
  • PAR0103LETTER_BODY · seq 2PR_BodyGoldskippedWe note your balance of << pyWorkPage.AmountDue >>. As a Gold member, please pay at your convenience.
  • PAR0104LETTER_END · seq 1PR_ClosingincludedYours sincerely, The ACME Team

Illustrative: this runs in your browser using the example from this guide. It is not connected to any Pega system.

Before you start

What you need.

  1. A Pega Constellation v25 application, with Dev Studio and App Studio access.
  2. The DCE ADK zip file (DCE_010101.zip in this guide), from the Pega Marketplace . The guide links to it and does not host the file.
  3. A case type to work with. This guide uses a Payment Reminder throughout.
  4. Basic familiarity with Dev Studio: creating rules, activities and data types.

The road

Six phases, fifteen steps.

Your turn

Questions and comments

Stuck on something, or have a thought? Write it here. To talk about one part, use the Comment button under that section's heading.

3–20 letters, digits, _ or -. Kept in this browser so you are not asked again.

0/1000

A hands-on guide by Sanjeev Kujur. Independent, and not affiliated with or endorsed by Pegasystems.

Tested against Pega Infinity v26 / Constellation v26 · Updated 5 Nov 2026