# Overview

### How does it work? <a href="#how-does-it-work" id="how-does-it-work"></a>

docMaker finds all tags **`{}`** in your document (docx) and replaces these tags by data. According to the syntax of your tags, you can make a lot of operations including

* Replacing a field
* Formatting data
* Repeating a document portion (a table row or anything else)
* Looping on unlimited nested arrays
* Conditionally displaying a data based on a test expression

The syntax is **easy to learn**. It is like using a JSON Array or Object in Javascript.

Combined with features of LibreOffice™ or MS Office™, you can easily create documents with:

* Graphics
* Headers, footers
* Automatically repeated table header across pages
* Insert computed field
* Page count
* ...

### How to read this documentation <a href="#how-to-read-this-documentation" id="how-to-read-this-documentation"></a>

{% hint style="info" %}
If you are using our Zapier or Typeform integrations, **you do not have to care about the JSON data information in the following documentation**. Indeed, it will be handled behind the scenes by Zapier or Typeform.

You just have to create the docx template, and then map the dynamic data with the template, either in Zapier or in docMaker dashboard for Typeform.
{% endhint %}

Each part of this documentation shows exactly what happens if you send **Data** (JSON Object) and a **Template** (handmade docx, odt, ...) to docMaker.

> Please note that you may also start with one of our pre-built templates (see the ["Templates"](https://app.docmaker.co/dashboard?menu=templates) section in your docMaker dahsboard), and adjust it using the below guidelines.&#x20;

The first thing to do is to open your document editor (Libreoffice, Microsoft Word, Google docs etc.). Once you have done it, you will be able to start building your template.&#x20;

> Once you have built it, we recommend that you test your template in the [“Template check”](https://app.docmaker.co/dashboard?menu=templatev) section of your docMaker dashboar, to make sure that it is valid. This will also get you all the tags from your template in a JSON format which you may use to easily build your API call.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guide.docmaker.co/features/create-pdf-from-docx-template/build-your-docx-template/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
