Gallery templates

Meeting Minutes Template: HTML + JSON Payload

Learn the Meeting Minutes gallery template with practical HTML structure and matching JSON payload for HookPDF API rendering.

This guide is based on the Meeting Minutes template in the Gallery.

It explains a practical flow: template HTML structure, matching JSON payload, and API render request.

Step 1 - Template HTML structure

HTML
<div class="header">
<h1>{{meeting_title}}</h1>
<p>{{company_name}}</p>
</div>
<div class="meta">
<div>
<strong>Date & Time</strong>{{date}} \u2014 {{time}}</div>
<div>
<strong>Location</strong>{{location}}</div>
<div>
<strong>Facilitator</strong>{{facilitator}}</div>
<div>
<strong>Attendees</strong>{{attendees}}</div>
</div>
<div class="section">
<h2>Agenda & Discussion</h2>{{#each agenda}}<div class="agenda-item">
<strong>{{this.topic}}</strong>
<p style="color:#636e72;margin-top:4px">{{this.notes}}</p>
</div>{{/each}}</div>
<div class="section">
<h2>Action Items</h2>
<table>
<thead>
<tr>
<th>Task</th>
<th>Assigned To</th>
<th>Due Date</th>
<th>Status</th>
</tr>
</thead>
<tbody>{{#each actions}}<tr>
<td>{{this.task}}</td>
<td>{{this.assignee}}</td>
<td>{{this.due}}</td>
<td>
<span class="status pending">{{this.status}}</span>
</td>
</tr>{{/each}}</tbody>
</table>
</div>

Step 2 - Matching JSON payload

JSON
{
  "meeting_title": "Q1 Sprint Planning",
  "company_name": "Acme Engineering",
  "date": "March 9, 2026",
  "time": "10:00 AM",
  "location": "Conference Room A",
  "facilitator": "Sarah Chen",
  "attendees": "Sarah Chen, Mike Ross, Lisa Park, Tom Anderson",
  "agenda": [
    {
      "topic": "Sprint Review",
      "notes": "Reviewed completed items from Sprint 12. All 18 stories delivered."
    },
    {
      "topic": "Backlog Prioritization",
      "notes": "Re-prioritized 24 items based on customer feedback."
    },
    {
      "topic": "Resource Planning",
      "notes": "Discussed capacity \u2014 Tom on PTO next week."
    }
  ],
  "actions": [
    {
      "task": "Update sprint board with new priorities",
      "assignee": "Mike Ross",
      "due": "Mar 10",
      "status": "Pending"
    },
    {
      "task": "Draft capacity plan for Sprint 13",
      "assignee": "Sarah Chen",
      "due": "Mar 11",
      "status": "Pending"
    },
    {
      "task": "Schedule stakeholder demo",
      "assignee": "Lisa Park",
      "due": "Mar 12",
      "status": "Pending"
    }
  ]
}

Step 3 - Final rendered preview in page

Rendered output preview Template style preview

Preview uses the original Gallery template HTML and CSS with sample payload values.

Step 4 - Key mapping checklist

  • {{meeting_title}} -> meeting_title
  • {{company_name}} -> company_name
  • {{date}} -> date
  • {{time}} -> time
  • {{#each agenda}} -> agenda[]
  • {{this.topic}} -> agenda[].topic
  • {{#each actions}} -> actions[]
  • {{this.task}} -> actions[].task

Step 5 - Render request example

BASH
curl -X POST "https://api.hookpdf.com/v1/render" \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "template_id": "<gallery-meeting-minutes-template_id>",
    "payload": {
      "meeting_title": "Q1 Sprint Planning",
      "company_name": "Acme Engineering",
      "date": "March 9, 2026",
      "time": "10:00 AM",
      "location": "Conference Room A",
      "facilitator": "Sarah Chen",
      "attendees": "Sarah Chen, Mike Ross, Lisa Park, Tom Anderson"
    }
  }'

Use this template for free now

Start with this template in HookPDF and render your first PDF for free.

Use this template free

Related reads

Ready to move from prototype to production?

Create your account and generate your first API-driven PDF with HookPDF.

Get your API key