This tutorial shows you how to create voting forms with ConfiForms app quickly and easily



We setup a very basic form to store:

  • title - text field
  • image - file field
  • votes - voting control field


Title and Image fields are just with defaults and "Voting Control" is nothing special. See below

With little bit of custom messages / labels


So, we have a form with some introductory text like this: 


Hello wonderful people of ACME corporation


We need to put new paintings on the hallway on 2nd floor and would like to ask you to help us!

Best 3 will win (smile)

Please give your vote to help us to choose Thank you!


Voting will be closed on 2.2.2020







Please note that authenticated users are allowed to vote and they see this page a bit differently


Confluence users can easily leave and revoke their votes as they like. Very quickly and conveniently. As "voting control" is a "multi-user" holding field then you can easily see who has voted and also you can use charts to represents the results visually




Storage format 

<ac:layout>
  <ac:layout-section ac:type="single">
    <ac:layout-cell>
      <ac:structured-macro ac:macro-id="f01e7718-65b1-496c-a7f1-5a1cb1ee32e9" ac:name="confiform-entry-register" ac:schema-version="1">
        <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
        <ac:rich-text-body>
          <p>
            <br/>
          </p>
        </ac:rich-text-body>
      </ac:structured-macro>
      <ac:structured-macro ac:macro-id="886715c1-02b0-4076-9092-326431bc6a3c" ac:name="confiform" ac:schema-version="1">
        <ac:parameter ac:name="formName">collectingVotes1</ac:parameter>
        <ac:rich-text-body>
          <p>
            <ac:structured-macro ac:macro-id="3acc12e4-26a0-420e-b6f3-8b3e8567095b" ac:name="confiform-field-definition" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">title</ac:parameter>
              <ac:parameter ac:name="fieldLabel">Title</ac:parameter>
              <ac:parameter ac:name="type">text</ac:parameter>
            </ac:structured-macro>
          </p>
          <p>
            <ac:structured-macro ac:macro-id="a3f0c3b5-2e27-4559-82ce-ea09ee131f4f" ac:name="confiform-field-definition" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">image</ac:parameter>
              <ac:parameter ac:name="fieldLabel">Image</ac:parameter>
              <ac:parameter ac:name="type">file</ac:parameter>
            </ac:structured-macro>
          </p>
          <p>
            <ac:structured-macro ac:macro-id="02b11b90-93ad-4f4c-99a8-531c4c4bc887" ac:name="confiform-field-definition" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">votes</ac:parameter>
              <ac:parameter ac:name="fieldLabel">Votes</ac:parameter>
              <ac:parameter ac:name="values">I like it</ac:parameter>
              <ac:parameter ac:name="extras">I have changed my mind, remove my vote!</ac:parameter>
              <ac:parameter ac:name="type">voting</ac:parameter>
            </ac:structured-macro>
          </p>
        </ac:rich-text-body>
      </ac:structured-macro>
      <p>
        <span style="font-size: 24.0px;letter-spacing: -0.01em;">Hello wonderful people of </span>
        <strong style="font-size: 24.0px;letter-spacing: -0.01em;">ACME</strong>
        <span style="font-size: 24.0px;letter-spacing: -0.01em;"> corporation</span>
      </p>
      <p>
        <br/>
      </p>
      <p>We need to put new paintings on the hallway on 2nd floor and would like to ask you to help us!</p>
      <p>Best 3 will win <ac:emoticon ac:name="smile"/>
      </p>
      <p>Please give your vote to help us to choose Thank you!</p>
      <p>
        <br/>
      </p>
      <ac:structured-macro ac:macro-id="275c78c5-e600-42a6-92d9-cad3a664d776" ac:name="info" ac:schema-version="1">
        <ac:rich-text-body>
          <p>
            <strong>Voting will be closed on 2.2.2020</strong>
          </p>
        </ac:rich-text-body>
      </ac:structured-macro>
    </ac:layout-cell>
  </ac:layout-section>
  <ac:layout-section ac:type="three_equal">
    <ac:layout-cell>
      <ac:structured-macro ac:macro-id="586772af-cd7b-42b5-8a86-f0e46e338f38" ac:name="confiform-list" ac:schema-version="1">
        <ac:parameter ac:name="filter">recordId:1</ac:parameter>
        <ac:parameter ac:name="formName">collectingVotes1</ac:parameter>
        <ac:rich-text-body>
          <h2>
            <ac:structured-macro ac:macro-id="6c22201f-fa1a-42f9-983c-1e6df2726bae" ac:name="confiform-field" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">title</ac:parameter>
            </ac:structured-macro>
          </h2>
          <p>
            <ac:structured-macro ac:macro-id="db8ffc8b-9ff8-4d90-a43a-7a7136142387" ac:name="confiform-field" ac:schema-version="1">
              <ac:parameter ac:name="css">width:300px;height:400px;</ac:parameter>
              <ac:parameter ac:name="fieldName">image</ac:parameter>
            </ac:structured-macro>
          </p>
          <p>
            <ac:structured-macro ac:macro-id="600f4556-3a48-4a75-826e-729c84dc7b2a" ac:name="confiform-field" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">votes</ac:parameter>
            </ac:structured-macro>
          </p>
          <p>
            <br/>
          </p>
          <p>
            <br/>
          </p>
        </ac:rich-text-body>
      </ac:structured-macro>
      <p>
        <br/>
      </p>
      <p>
        <br/>
      </p>
    </ac:layout-cell>
    <ac:layout-cell>
      <ac:structured-macro ac:macro-id="96fe3c2f-edbb-4801-b43c-d540ebd5a336" ac:name="confiform-list" ac:schema-version="1">
        <ac:parameter ac:name="filter">recordId:3</ac:parameter>
        <ac:parameter ac:name="formName">collectingVotes1</ac:parameter>
        <ac:rich-text-body>
          <h2>
            <ac:structured-macro ac:macro-id="53913193-f8bb-49d6-8bc7-5dc19c758f46" ac:name="confiform-field" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">title</ac:parameter>
            </ac:structured-macro>
          </h2>
          <ac:structured-macro ac:macro-id="969a6d02-f9ec-4caa-b202-12427115df40" ac:name="confiform-field" ac:schema-version="1">
            <ac:parameter ac:name="css">width:300px;height:400px;</ac:parameter>
            <ac:parameter ac:name="fieldName">image</ac:parameter>
          </ac:structured-macro>
          <p>
            <ac:structured-macro ac:macro-id="d806b0da-bc81-4da6-8727-316fde0289ff" ac:name="confiform-field" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">votes</ac:parameter>
            </ac:structured-macro>
          </p>
          <p>
            <br/>
          </p>
          <p>
            <br/>
          </p>
        </ac:rich-text-body>
      </ac:structured-macro>
    </ac:layout-cell>
    <ac:layout-cell>
      <ac:structured-macro ac:macro-id="a9289a39-51c8-4a55-b75c-c31b1ff5596c" ac:name="confiform-list" ac:schema-version="1">
        <ac:parameter ac:name="filter">recordId:2</ac:parameter>
        <ac:parameter ac:name="formName">collectingVotes1</ac:parameter>
        <ac:rich-text-body>
          <h2>
            <ac:structured-macro ac:macro-id="b612f7a5-2a1f-4290-85ea-8b91109bc91a" ac:name="confiform-field" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">title</ac:parameter>
            </ac:structured-macro>
          </h2>
          <ac:structured-macro ac:macro-id="2acb56bd-71a8-410e-b04e-efce206aa9de" ac:name="confiform-field" ac:schema-version="1">
            <ac:parameter ac:name="css">width:580px;height:400px;</ac:parameter>
            <ac:parameter ac:name="fieldName">image</ac:parameter>
          </ac:structured-macro>
          <p>
            <ac:structured-macro ac:macro-id="cfad3389-d66e-49f1-ba3d-9b79ab1456de" ac:name="confiform-field" ac:schema-version="1">
              <ac:parameter ac:name="fieldName">votes</ac:parameter>
            </ac:structured-macro>
          </p>
          <p>
            <br/>
          </p>
          <p>
            <br/>
          </p>
        </ac:rich-text-body>
      </ac:structured-macro>
    </ac:layout-cell>
  </ac:layout-section>
</ac:layout>