Child pages
  • Easy employee checklists in Confluence with ConfiForms

This is the documentation for ConfiForms Server/Data Center app

However, this might also work for ConfiForms cloud and in most cases it does. But please see this page to understand the differences between server and cloud versions of the ConfiForms app.

ConfiForms is very flexible about how you present your data.

In this tutorial you will learn how to use IFTTT macro to create a simple employee checklist. How to configure inline edit method for your newly created checklist, how to make sure the checklist is secure and visible/editable by an employee and how to see the data in an aggregated way


Let's start with a form configuration. In our example it will have only 4 checklist items and one field to store employee username. All the checklist items are of checkbox field type.

Here is how the form looks like in Confluence editor:


The fields for checklist items are with names q1, q2, q3, q4

And in the view mode the form looks like this:

The form uses standard UI and might not looks as good as you expect.

But it is not important for us and here is why:

  • this form is used only by administrators to create new checklists
  • an employee never sees the checklist creation UI

So, we need to make some changes to have the checklist look much more beautiful with totally custom L&F

We will achieve this using IFTTT macro which will create a new page with our own, very custom layout and will present checklist items for the employee with explanatory texts and details

Let's add an IFTTT macro to create a page. The macro need to be place inside ConfiForms Form macro and should be hooked up to "On created" event

We create a page with a page title which will be combined with "Checklist for " and the name of the user who's checklist it is. See that user object (employee field) is a complex object and we ask for sub property

[entry.employee.username]


See more details in Documentation

When the IFTTT macro is added we need to continue with configuring it's macro body

So, we add ConfiForms Field macros and add some details/layout we need

When a new record is created by administrator

A new page with a checklist get's created:

And this is how the it looks like when the "Edit" button is clicked

The complete storage format for the solution is listed below:

<ac:structured-macro ac:macro-id="817b40e0-2d54-4bc0-ad63-76e5e4e755d6" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">chklists</ac:parameter>
  <ac:parameter ac:name="registrationFormTitle">Checklist</ac:parameter>
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="6d09de0d-2ef9-4d64-ad38-464dc23bc1b2" ac:name="confiform-field-definition"
                           ac:schema-version="1">
        <ac:parameter ac:name="fieldName">employee</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Employee</ac:parameter>
        <ac:parameter ac:name="type">user</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="adeefe2f-f1cc-4fd3-a241-20e2a2e36e7a" ac:name="confiform-field-definition"
                           ac:schema-version="1">
        <ac:parameter ac:name="fieldName">q1</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Find</ac:parameter>
        <ac:parameter ac:name="type">checkbox</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="8989bdb6-861b-48c2-a256-50f353274635" ac:name="confiform-field-definition"
                           ac:schema-version="1">
        <ac:parameter ac:name="fieldName">q2</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Evaluate</ac:parameter>
        <ac:parameter ac:name="type">checkbox</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="ef20ef3d-6eb8-45ad-97fb-72105d463572" ac:name="confiform-field-definition"
                           ac:schema-version="1">
        <ac:parameter ac:name="fieldName">q3</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Purchase</ac:parameter>
        <ac:parameter ac:name="type">checkbox</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="c5b3a392-05bd-43ab-9401-5cf6c6e3f055" ac:name="confiform-field-definition"
                           ac:schema-version="1">
        <ac:parameter ac:name="fieldName">q4</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Review</ac:parameter>
        <ac:parameter ac:name="type">checkbox</ac:parameter>
      </ac:structured-macro>
      <ac:structured-macro ac:macro-id="49e83c80-8fca-4315-a97c-bfd1e09967cb" ac:name="confiform-entry-register"
                           ac:schema-version="1">
        <ac:parameter ac:name="registrationButtonLabel">Create</ac:parameter>
        <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
        <ac:rich-text-body>
          <p>&nbsp;</p>
        </ac:rich-text-body>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="1318d873-b455-4c7c-b2a8-d529203440b6" ac:name="confiform-ifttt"
                         ac:schema-version="1">
      <ac:parameter ac:name="action">Create Page</ac:parameter>
      <ac:parameter ac:name="event">onCreated</ac:parameter>
      <ac:parameter ac:name="title">Checklist for [entry.employee.username]</ac:parameter>
      <ac:parameter ac:name="who">[entry.employee.username], [modifier]</ac:parameter>
      <ac:rich-text-body>
        <p>Hi [entry.employee.fullName]</p>
        <p>Please follow the details on this checklist to complete your job task</p>
        <ol>
          <li>Find ConfiForms plugin on the marketplace. Done?
            <strong>
              <ac:structured-macro ac:macro-id="ce957133-c08c-49e7-9c4e-ece20c323ce1" ac:name="confiform-field"
                                   ac:schema-version="1">
                <ac:parameter ac:name="fieldName">q1</ac:parameter>
              </ac:structured-macro>
            </strong>
          </li>
          <li>Evaluate ConfiForms plugin. Done?
            <strong>
              <ac:structured-macro ac:macro-id="dbdcccf7-5465-46de-ba00-b9a32d12d088" ac:name="confiform-field"
                                   ac:schema-version="1">
                <ac:parameter ac:name="fieldName">q2</ac:parameter>
              </ac:structured-macro>
            </strong>
          </li>
          <li>Purchase the license. Done?
            <strong>
              <ac:structured-macro ac:macro-id="b58edbd6-93c5-4481-9d00-b6757151420c" ac:name="confiform-field"
                                   ac:schema-version="1">
                <ac:parameter ac:name="fieldName">q3</ac:parameter>
              </ac:structured-macro>
            </strong>
          </li>
          <li>Write a review. Done?
            <strong>
              <ac:structured-macro ac:macro-id="2f0c9ae7-f42f-44fd-88c8-7874c833ed3c" ac:name="confiform-field"
                                   ac:schema-version="1">
                <ac:parameter ac:name="fieldName">q4</ac:parameter>
              </ac:structured-macro>
            </strong>
          </li>
        </ol>
        <p>
          <ac:structured-macro ac:macro-id="df24d85a-ef95-4044-8bb6-fddac29bbab7" ac:name="confiform-entry-edit"
                               ac:schema-version="1">
            <ac:parameter ac:name="inline">true</ac:parameter>
            <ac:parameter ac:name="showBoth">false</ac:parameter>
          </ac:structured-macro>
        </p>
        <p>Thanks for collaboration!</p>
        <p>if you need some help, please as ConfiForms support team at
          <a href="mailto:vertuna@vertuna.com">vertuna@vertuna.com</a>
        </p>
        <ac:structured-macro ac:macro-id="332039c7-4f61-4070-977d-41fe8523500f" ac:name="info" ac:schema-version="1">
          <ac:rich-text-body>
            <p>Please note that step 4 is not compulsory, but we appreciate if you complete it as well. Thanks!</p>
          </ac:rich-text-body>
        </ac:structured-macro>
      </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>

Advanced details:

  1. In current solution, when a checklist is created you need to change the "Owned By" field to the same user name this checklist is created for. As only then this user could change the data in the checklist
  2. Also, another security thing to consider is to create pages with IFTTT macro and setting own parent page, in this case you can secure the original form with user permissions and have employee checklist pages separated from it. (This is easily configurable in the IFTTT macro properties (when "Create Page" action is selected))