As on the Atlassian community post (https://community.atlassian.com/t5/Confluence-questions/Keeping-two-ConfiForms-in-sync/qaq-p/2679409 ) we take the same structure as an example to show how to use the newly developed "Synchronize smart field references" ConfiForms IFTTT action
Available on DC, version 3.11 and on CLOUD
The problem
We will use the newly introduced ConfiForms IFTTT macro to synchronize smart multi-value holding fields to reference each other
So, BooksAvailable (Libraries form) always holds links to Books, and Libraries (Books form) is always up to date with links to libraries. Links are kept automatically, no matter where you make the change - in the Books or in the Libraries form
We will need 3 ConfiForms IFTTTs of this new type "Synchronize smart field references" in each form
Here is how to configure them
Form: Libraries
Handling 3 events: OnCreated, OnModified and onDeleted
OnCreated
OnModified
(almost the same as onCreated, but with a slight difference on "condition" parameter - ie, when to trigger this event)
OnDeleted
Form: Books
Also 3 IFTTTs set to trigger onCreated, onModified and onDeleted events with a configuration as follows
OnCreated
OnModified
OnDeleted
Storage format is as follows
<ac:structured-macro ac:macro-id="a7904b06-2731-4aa3-bd3f-43658c43ef96" ac:name="confiform" ac:schema-version="1">
<ac:parameter ac:name="formName">Libraries</ac:parameter>
<ac:parameter ac:name="debugMode">true</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="a5de7793-c841-4eed-9b5e-61c0f3ed36f2" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">LibraryName</ac:parameter>
<ac:parameter ac:name="fieldLabel">Library Name</ac:parameter>
<ac:parameter ac:name="type">text</ac:parameter>
<ac:parameter ac:name="required">true</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="0719b200-1121-4c0e-998f-2cfbfbcf5433" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">LibraryDescription</ac:parameter>
<ac:parameter ac:name="fieldLabel">Library Description</ac:parameter>
<ac:parameter ac:name="type">textarea</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="2e7c6c69-d833-46fb-ac8a-9cf2adc521f6" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">BooksAvailable</ac:parameter>
<ac:parameter ac:name="fieldLabel">Books Available</ac:parameter>
<ac:parameter ac:name="values">[180945272|Books|BookName|true||]</ac:parameter>
<ac:parameter ac:name="type">smartcheckbox</ac:parameter>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="968f82a7-420a-49e2-8e94-849fe1a1b408" ac:name="confiform-entry-register" ac:schema-version="1">
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br/>
</p>
<ac:structured-macro ac:macro-id="444864ae-9469-4838-af20-c261f7c4ebf5" ac:name="confiform-ifttt" ac:schema-version="1">
<ac:parameter ac:name="condition">!BooksAvailable:[empty]</ac:parameter>
<ac:parameter ac:name="formName">Libraries</ac:parameter>
<ac:parameter ac:name="action">Synchronize smart field references</ac:parameter>
<ac:parameter ac:name="extras">Libraries</ac:parameter>
<ac:parameter ac:name="event">onCreated</ac:parameter>
<ac:parameter ac:name="title">BooksAvailable</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="macroHash">-1738927223</ac:parameter>
<ac:parameter ac:name="who">Books</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br/>
</p>
<ac:structured-macro ac:macro-id="1bcc25c8-e067-484e-95e0-7b4c10e3b038" ac:name="confiform-ifttt" ac:schema-version="1">
<ac:parameter ac:name="condition">hasChanged(BooksAvailable):true</ac:parameter>
<ac:parameter ac:name="formName">Libraries</ac:parameter>
<ac:parameter ac:name="action">Synchronize smart field references</ac:parameter>
<ac:parameter ac:name="extras">Libraries</ac:parameter>
<ac:parameter ac:name="event">onModified</ac:parameter>
<ac:parameter ac:name="title">BooksAvailable</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="macroHash">1770462209</ac:parameter>
<ac:parameter ac:name="who">Books</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br/>
</p>
<ac:structured-macro ac:macro-id="d45d3c2a-1d56-4d53-a413-2376af2a0171" ac:name="confiform-ifttt" ac:schema-version="1">
<ac:parameter ac:name="formName">Libraries</ac:parameter>
<ac:parameter ac:name="action">Synchronize smart field references</ac:parameter>
<ac:parameter ac:name="extras">Libraries</ac:parameter>
<ac:parameter ac:name="event">onDeleted</ac:parameter>
<ac:parameter ac:name="title">BooksAvailable</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="macroHash">-737758078</ac:parameter>
<ac:parameter ac:name="who">Books</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p style="text-align: left;">Libraries</p>
<ac:structured-macro ac:macro-id="9c77f5c9-6f65-4168-877a-efbb4ed4101b" ac:name="confiform-table" ac:schema-version="1">
<ac:parameter ac:name="formName">Libraries</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="7381d4ee-45ac-4587-81b1-8801b4e5f2cb" ac:name="confiform-entry-edit" ac:schema-version="1">
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p style="text-align: left;">
<br/>
</p>
<ac:structured-macro ac:macro-id="ba2ce7af-bfab-4ff5-bb64-15aedd084eb5" ac:name="confiform" ac:schema-version="1">
<ac:parameter ac:name="formName">Books</ac:parameter>
<ac:parameter ac:name="debugMode">true</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="34d7c28f-307e-47ce-9fd0-de6392e2a33c" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">BookName</ac:parameter>
<ac:parameter ac:name="fieldLabel">Book Name</ac:parameter>
<ac:parameter ac:name="type">text</ac:parameter>
<ac:parameter ac:name="required">true</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="19dbda8a-358f-41e9-b1fd-08e9d66636fd" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">BookDescription</ac:parameter>
<ac:parameter ac:name="fieldLabel">Book Description</ac:parameter>
<ac:parameter ac:name="type">textarea</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="2a779bb9-b8a8-46bb-934a-2ced8d44b2e3" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Libraries</ac:parameter>
<ac:parameter ac:name="fieldLabel">Libraries</ac:parameter>
<ac:parameter ac:name="values">[180945272|Libraries|LibraryName|true||]</ac:parameter>
<ac:parameter ac:name="type">smartmultiselect</ac:parameter>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="1fdf5cc0-b9b9-4dcf-bc33-123c663103b2" ac:name="confiform-entry-register" ac:schema-version="1">
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<br/>
</p>
<p class="auto-cursor-target">
<br/>
</p>
<ac:structured-macro ac:macro-id="804c7b6c-a8f4-4c64-9b88-79bfabc48b3a" ac:name="confiform-ifttt" ac:schema-version="1">
<ac:parameter ac:name="condition">!Libraries:[empty]</ac:parameter>
<ac:parameter ac:name="formName">Books</ac:parameter>
<ac:parameter ac:name="action">Synchronize smart field references</ac:parameter>
<ac:parameter ac:name="extras">BooksAvailable</ac:parameter>
<ac:parameter ac:name="event">onCreated</ac:parameter>
<ac:parameter ac:name="title">Libraries</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="macroHash">-563933469</ac:parameter>
<ac:parameter ac:name="who">Libraries</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br/>
</p>
<ac:structured-macro ac:macro-id="57fb8127-6773-43a8-9322-58f2570f6e34" ac:name="confiform-ifttt" ac:schema-version="1">
<ac:parameter ac:name="condition">hasChanged(Libraries):true</ac:parameter>
<ac:parameter ac:name="formName">Books</ac:parameter>
<ac:parameter ac:name="action">Synchronize smart field references</ac:parameter>
<ac:parameter ac:name="extras">BooksAvailable</ac:parameter>
<ac:parameter ac:name="event">onModified</ac:parameter>
<ac:parameter ac:name="title">Libraries</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="macroHash">-1164741553</ac:parameter>
<ac:parameter ac:name="who">Libraries</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br/>
</p>
<ac:structured-macro ac:macro-id="4ec19b0e-b2a3-4958-9384-d0defe1a03ca" ac:name="confiform-ifttt" ac:schema-version="1">
<ac:parameter ac:name="formName">Books</ac:parameter>
<ac:parameter ac:name="action">Synchronize smart field references</ac:parameter>
<ac:parameter ac:name="extras">BooksAvailable</ac:parameter>
<ac:parameter ac:name="event">onDeleted</ac:parameter>
<ac:parameter ac:name="title">Libraries</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="macroHash">-1483779556</ac:parameter>
<ac:parameter ac:name="who">Libraries</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p class="auto-cursor-target">
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>Books</p>
<ac:structured-macro ac:macro-id="f5313d4c-18ca-4f31-9b70-53f4c2cb464a" ac:name="confiform-table" ac:schema-version="1">
<ac:parameter ac:name="formName">Books</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="e42db318-1b11-491c-b84b-dd8c81921f59" ac:name="confiform-entry-edit" ac:schema-version="1">
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>