Skip to main content

RFP Custom Export Templates

E
Written by Eli Rosenthal

How to Create a Custom RFP Export Template

Custom export templates let you control exactly how an RFP response looks when it's exported to Word. Templates use merge fields (wrapped in double curly braces) to pull in live data from the project and response, plus loop tags to repeat sections and questions automatically.

Before you start

Custom templates are built in a .docx file using Word's normal formatting tools (headings, styles, page breaks, etc.). The merge fields and loop tags are just text you type directly into the document — formatting them (bold, font, spacing) controls how the final export looks.

Available fields

Project fields

Field

Description

{{project.due_date}}

The RFP's due date

{{project.customer_name}}

The customer/prospect name

{{project.creator_name}}

The name of the person who created the project

Response fields

Field

Description

{{response.author_email}}

Email of the response author

{{response.cover_letter}}

The generated cover letter content

{{response.executive_summary}}

The generated executive summary

Table of contents

Insert a standard Word Table of Contents field where you want it to appear. It will auto-populate based on your document's heading styles once the export is generated — in Word, right-click the field and select Update Field if it doesn't refresh automatically. This is supported through Word, and not directly via our RFP Export.

Looping through sections and questions

RFP responses are organized into sections, and each section contains questions. Use loop tags to repeat a block of content for every section and every question inside it:

{%p for section in response.sections %}

{{section.topic}}

{%p for question in section.questions %}
{{question.question}}
{{question.answer}}
{%p endfor %}
{%p endfor %}

What each part does:

  • {%p for section in response.sections %} — starts a loop that repeats once per section in the response

  • {{section.topic}} — the section's name/heading (formatted here as a Heading 2 style, so it feeds the table of contents)

  • {%p for question in section.questions %} — starts a nested loop, repeating once per question in that section

  • {{question.question}} — the question text

  • {{question.answer}} — the answer text

  • {%p endfor %} — closes each loop (you need one for the question loop and one for the section loop)

Tips

  • Keep the loop tags on their own line/paragraph so Word doesn't add unexpected spacing.

  • Apply heading styles to {{section.topic}} so sections show up correctly in the table of contents.

  • Test your template with a real project before rolling it out — loop and conditional logic can behave unexpectedly if tags are split across multiple Word runs (e.g., if autocorrect changes quote characters).

Attachment icon
Did this answer your question?