Child pages
  • Creating links in original ConfiForms entry to just created page

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.

In this tutorial, we will create a Confluence page with IFTTT module and then update the original ConfiForms entry with a page id of a just created page.This tutorial uses the concept of IFTTT results chaining, described here: Advanced integrations with IFTTT macros with ConfiForms

If you are new to ConfiForms, please take a few minutes to read the Basic concepts Guide, or go through the video tutorial on that page.  (smile)


This tutorial demonstrates how to create a Confluence page using an IFTTT module and then link the original ConfiForms entry to the newly created page. By chaining IFTTT results, you can automate this process, streamlining workflows where page creation and entry linking are essential.

The guide also covers two methods:

  1. Using a "hidden HTML" field to generate and display the link.
  2. Using the "Page/BlogPost" field type for more dynamic and user-friendly automation.


Let's start with a very simple form which contains only 2 fields: one of type text and another of type "hidden HTML" (so it would not be visible on the entry form, but is visible in tables/lists/calendars)

In order to complete the task, we need to have 2 IFTTT macros. Order of placing IFTTTs on the Form is IMPORTANT here. First, should the be one which creates the page and second should be the one that uses the results of the first IFTTT macro execution and updates the original ConfiForms entry

  • One to create a page


  • Another to update ConfiForms entry based on the result of first IFTTT macro

    Parameters value is as follows:

    entryId=[entry.id]&mylink=<a href="http://localhost:1990/confluence/pages/viewpage.action?pageId=${iftttResult_0.id}">${iftttResult_0.displayTitle}</a>


    we reference here an id of the page that was just created by the 1st IFTTT macro (this will be replaced in runtime). You can reference any property of the page created, see https://docs.atlassian.com/confluence/latest/com/atlassian/confluence/pages/AbstractPage.html. See Documentation to get details about objects stored in IFTTT results after IFTTT macro execution.

  • You need also to set the form which you are trying to update
  • In our case the form is named "f" and is stored on the page with id "884778"

The final page will look like this:

A page with "here is my test" title was created with ConfiForms IFTTT macro when an entry was created and a link to this page was added/updated in the original ConfiForms entry.



Using "Page/BlogPost" field from ConfiForms

Recommended solution


Here, we will have a slightly different form, again with 2 fields, but instead of "mylink" field we will have a field called "mypage" of type "Page/BlogPost"

We will also have a rule to hide the "mypage" field from the input form, as it will be set for us automatically by ConfiForms when the page is created and we don't want to confuse the user, asking for the input they don't have to provide

In order to complete the task, we also need to have 2 IFTTT macros. One to create a page and another one to update the ConfiForms entry, but in a slightly different way.


  • One to create a page


  • Another to update ConfiForms entry based on the result of first IFTTT macro


Parameters value is as follows:

entryId=[entry.id]&mypage=[iftttResult_0.id]


We can show the results in a TableView, for example


<ac:structured-macro ac:macro-id="d44a6ab0-6d30-47f1-b3b6-6462cc7e71ad" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">f</ac:parameter>
  <ac:rich-text-body>
    <ac:structured-macro ac:macro-id="86071632-a1b4-4dc5-afed-77447ae67155" 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>
    <p>
      <ac:structured-macro ac:macro-id="2d83fb82-da45-40dd-a065-8194e5503a04" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">myfield</ac:parameter>
        <ac:parameter ac:name="fieldLabel">myfield</ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="935d710c-46a3-4ee7-918c-4808c85b91e8" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">mypage</ac:parameter>
        <ac:parameter ac:name="fieldLabel">created page</ac:parameter>
        <ac:parameter ac:name="type">page</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>-- always hide the "mypage" field</p>
    <p>
      <ac:structured-macro ac:macro-id="cc4a55c0-69f6-4c02-ae79-cea3f4daf6da" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">*</ac:parameter>
        <ac:parameter ac:name="fieldName">mypage</ac:parameter>
        <ac:parameter ac:name="action">Hide field</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="7e0bb0a2-47fc-4f31-963a-9d5b5c98d5b6" 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">[entry.myfield]</ac:parameter>
      <ac:rich-text-body>
        <p>Here goes the contents of the page we create with ConfiForms...</p>
      </ac:rich-text-body>
    </ac:structured-macro>
    <ac:structured-macro ac:macro-id="5e604d9f-66ce-4cf2-987a-15ce9b45501d" ac:name="confiform-ifttt" ac:schema-version="1">
      <ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter>
      <ac:parameter ac:name="event">onCreated</ac:parameter>
      <ac:parameter ac:name="title">entryId=[entry.id]&amp;mypage=[iftttResult_0.id]</ac:parameter>
      <ac:rich-text-body>
        <p>
          <br/>
        </p>
      </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>