...
At the moment ConfiForms IFTTT macro has 3235 action types to choose from.
...
Below, you can find a list of integrations scenarios the macro can support and it's configuration details
Actions list
There are 32 35 different actions supported by IFTTT out-of-the-box (some actions are very generic, so the integration scenarios number is a lot bigger)
...
Parameter name | Description | ||
---|---|---|---|
Event | Type of event in ConfiForms this IFTTT action should be fired on
| ||
Action to perform | One of the actions to perform. See the list above | ||
Do not report error | A checkbox field to disable error reporting and continue with the workflow even if current macro has resulted in an error | ||
Custom name for the action result | This is used in advanced techniques, when you want to use the result of the IFTTT in next IFTTT or want to save the result of some IFTTT or some part of the result back into a ConfiForms record. See below the result types and the contents stored in the result for each IFTTT action. A result (depending on the action type) is stored in the context in the variable prefixed by "iftttResult_" And is accessible using the Velocity notation via
Where "RESULTNAME" is the value given in this macro parameter. Some results hold rich objects. See "Result type" section for exact IFTTT action below |
Add Attachment Label | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Add a label or labels to attachment | ||||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
Add Page Label | ||||||||||||||||||||||||
Adds label to a page, you can apply a label (or labels) to page sub-pages as well | ||||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
Add Page Watcher | ||||||||||||||||||||||||
Adds a user or group of users as a page watcher | ||||||||||||||||||||||||
Result type: | Page object (page where the watcher's were added) Depending on the IFTTT result name you can access all of the properties available from Page object. For example (when result name is MYRESULT)
Any other property, which Page object provide (any "get" method) | |||||||||||||||||||||||
Applink Service | ||||||||||||||||||||||||
Sends a request to configured Application link service A user specifies which HTTP method to use, which URL service to execute (url must be given as "relative" url, this means it is "concatenated" with the base url in your applink service) More about Application links in Confluence could be found here: https://confluence.atlassian.com/display/APPLINKS/Application+Links+Documentation | ||||||||||||||||||||||||
Result type: | Response returned from a request to a service is returned and stored as result If response is a JSON then you can apply Virtual functions to work on a JSON object Please note that virtual functions could be applied only on ConfiForms fields, not the IFTTT result directly. This means you will need to save the response to some ConfiForms field temporarily in order to apply the functions and convert the response to JSON. | |||||||||||||||||||||||
Copy ConfiForms Data | ||||||||||||||||||||||||
Copies data from one ConfiForms form to another, can have custom mapping for fields and have a filter applied before copying the data Also, it can "flatten" the multi-select values to copy the data to a new form in an "expanded" view Please note that if you leave the filter empty then ALL the records from a source form will be copied to a destination form. To copy just one, current record, you will need to apply the following filter
| ||||||||||||||||||||||||
Result type: | Last created (copied) record as object. This means that you can access any property available in ConfiForms record. Please note that the values accessed using the Velocity notation (${}) return "raw" (internal) values. More on this Accessing field values and properties | |||||||||||||||||||||||
Copy ConfiForms Data to DB | ||||||||||||||||||||||||
Executes a SQL statement you specify on your database (on the database connection you have configured) You must specify a valid SQL statement - either INSERT or UPDATE Similar to "Copy ConfiForms Data" action you can filter records on original form before copying, as well as "flatten" records in order to have multi-value fields as separate rows (if necessary) ConfiForms uses JDBC driver to connect to your database. See more on Some guidelines on using database fields in ConfiForms and Working with database fields in ConfiForms | ||||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
Create Attachment | ||||||||||||||||||||||||
Creates a file, based on the content you specify in macro body and uploads it as attachment. You need to specify field name to use to store the reference to a created attachment - ConfiForms field of type "File" is the preferred field type to store this | ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | File contents as text into the result | |||||||||||||||||||||||
Create BlogPost | ||||||||||||||||||||||||
Creates blog post based on the contents in macro body and the title given. Blog post will be created in a Confluence space specified. You can apply labels to a created blog post | ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | Created Blog Post - complete object, as https://docs.atlassian.com/confluence/5.8.9/com/atlassian/confluence/pages/BlogPost.html Example:
(if result was named "MYRESULT") | |||||||||||||||||||||||
Create (Update) ConfiForms Entry | ||||||||||||||||||||||||
Creates (or updates) ConfiForms Entry in the specified form
Additionally, you can stop the propagation of the "create/update" events completely. To update the current ConfiForms record leave the "Reference to form and it's location" empty and in parameters to set specify:
To target the current record | ||||||||||||||||||||||||
Result type: | Created entry object, same as in Copy ConfiForms Data
Where "somefield" is the name of the field in ConfiForms form | |||||||||||||||||||||||
More details/examples: | This action helps you to create different types of update rules for your ConfiForms entries. You can create an audit for all changes, you can update entries in other forms or entries in the same form based on chosen criteria Same action type is used for creating new entries and updating existing and the parameter to indicate that is "entryId" So, to create record you will specify:
But to update existing record you will need to have something like this:
You can also set constant values, does not have to be a reference to some field value
The above example will set "someparam" to constant value of "MY CONSTANT" and "anotherparam" will be set to a value found on the field named "another"
Other tutorials: | |||||||||||||||||||||||
Create Insight Object | ||||||||||||||||||||||||
Creates Insight object based on the JSON mapping given See Creating JIRA issue from Confluence with ConfiForms for a tutorial on Creating JIRA issues, the concept behind creating Insight objects is identical
| ||||||||||||||||||||||||
Macro body: | JSON mapping wrapped in "No Format" macro to have a raw text JSON mapping should be of structure specified in Insight REST API https://documentation.riada.se/display/ICV50/Version+1.0+documentation /rest/insight/1.0/object/create service in particular | |||||||||||||||||||||||
Result type: | Created Object ID as text
(if result was named "MYRESULT") If IFTTT macro is set to ignore errors (execute in silent mode, then there might be NO RESULT in the variable, so accessing it with "!", like $!{iftttResult_MYRESULT} is safer) | |||||||||||||||||||||||
More details / examples: | You can create Insight Objects from ConfiForms entries. However, this is a bit technical to setup as the integration is done through the JSON document you will need to prepare. See tutorial below for more details and examples. Important: you must have a correctly configured Application link to JIRA Also, there are some helpers to help you with preparing correct JSON, see Virtual functions Tutorials:
| |||||||||||||||||||||||
Create JIRA Issue | ||||||||||||||||||||||||
Creates JIRA issue based on the JSON mapping given See Creating JIRA issue from Confluence with ConfiForms You can add users as watchers to created JIRA issue. Must be a valid user (list of users) given When you want to add an attachment to JIRA issue from ConfiForms file field - you will need to place the "ConfiForms Field" macro inside the ConfiForms IFTTT macro body. This way, you will tell ConfiForms, in addition to issue creation, to upload the file to JIRA. You can upload multiple files, just by placing additional ConfiForms Field macros referencing other file fields into the macro body
| ||||||||||||||||||||||||
Macro body: | JSON mapping wrapped in "No Format" macro to have a raw text JSON mapping should be of structure specified in JIRA REST API - https://developer.atlassian.com/jiradev/jira-apis/jira-rest-apis/jira-rest-api-tutorials/jira-rest-api-example-create-issue | |||||||||||||||||||||||
Result type: | Created issue KEY as text
(if result was named "MYRESULT") If IFTTT macro is set to ignore errors (execute in silent mode, then there might be NO RESULT in the variable, so accessing it with "!", like $!{iftttResult_MYRESULT} is safer) | |||||||||||||||||||||||
More details / examples: | You can create JIRA issues from ConfiForms entries. However, this is a bit technical to setup as the integration is done through the JSON document you will need to prepare. See tutorial below for more details and examples. Important: you must have a correctly configured Application link to JIRA Also, there are some helpers to help you with preparing correct JSON, see Virtual functions This action type supports uploading files to created JIRA ticket, an example is also available in the same tutorial. Important to note that currently this action selects a primary app link to JIRA, if you have more than 1 JIRA connected then you will be able to create JIRA issues only in your primary JIRA (the one set as primary in your application links) Tutorials:
| |||||||||||||||||||||||
Create Page | ||||||||||||||||||||||||
Creates Confluence page based on the template given (in macro body) See Creating links in original ConfiForms entry to just created page Using ConfiForms plugin as a page template engine in Confluence
| ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | Page object (page created) Depending on the IFTTT result name you can access all of the properties available from Page object. For example (when result name is MYRESULT)
Any other property, which Page object provides (any "get" method) | |||||||||||||||||||||||
More details / examples: | You can create a page based on the template in this IFTTT macro body. You can have a template embedded or you can reference Confluence template with
Templates can reference field values using
You can set your own root page (also dynamically based on the values in your entries, as usual... by referencing via [entry.FIELD_NAME]), you can enable custom permissions on newly created pages Additional tutorials:
| |||||||||||||||||||||||
Create Task | ||||||||||||||||||||||||
Creates a personal task for a given user. "Create Task" action is very similar to "Create Notification" action. The only difference is that it creates a personal task for the user specified. Important to note that Atlassian have removed the support for personal tasks in recent version of Confluence, so this action type is provided and should be used for Confluence versions prior to 5.5 (see more
Participants here are the user(s) this task will be created for | ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | Task object (created) https://docs.atlassian.com/mywork-api/1.11.1.8/com/atlassian/mywork/model/Task.html For example (when result name is MYRESULT)
Any other property, which Task object provides (any "get" method) | |||||||||||||||||||||||
Delete attachment | ||||||||||||||||||||||||
Deletes attachments from Confluence. A user must have enough permissions to delete attachments | ||||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
Delete ConfiForms Entry | ||||||||||||||||||||||||
Deletes the ConfiForms entries by a given filter You can automatically delete entries, and this is done by specifying a filter. When you want to delete just a record created then the filter is by id:
Important difference (between Creating and Deleting actions) here is the name of the field used to reference entry ID. In filters you need to specify it as "id" and in field parameters you will need to use "entryId" So, deleting entries happens by filter, more about filters ConfiForms Filters You will need also to specify explicitly which form to use and where it is located (pageId). See last parameter in Macro editor for ConfiForms IFTTT macro for this action type Tutorials: | ||||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
Delete Page | ||||||||||||||||||||||||
Deletes the page in Confluence A user must have enough permissions to delete the page | ||||||||||||||||||||||||
Result type: | Page object to be deleted Depending on the IFTTT result name you can access all of the properties available from Page object. For example (when result name is MYRESULT)
Any other property, which Page object provides (any "get" method) | |||||||||||||||||||||||
Force Page Re-index | ||||||||||||||||||||||||
Forces page re-index Sometimes you want a particular page to be re-indexed when a ConfiForms entry get's created/updated or deleted. This action type helps you to achieve that. | ||||||||||||||||||||||||
Result type: | Resolved Page object to re-index Depending on the IFTTT result name you can access all of the properties available from Page object. For example (when result name is MYRESULT)
Any other property, which Page object provides (any "get" method) | |||||||||||||||||||||||
Make request | ||||||||||||||||||||||||
Makes GET or POST request to a configured resource GET request is made when an IFTTT macro body is empty POST request is made when an IFTTT macro contains a body, then this contents is sent to a configured resource as a stream, via POST request
| ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | Response text returned from a request made.
(when result name is set as "MYRESULT") See also "Result Type" description for JIRA Issue Create IFTTT action for details on use of "!" sign | |||||||||||||||||||||||
Move Attachment | ||||||||||||||||||||||||
Moves attachment from one page to another You should specify the attachment ID to be moved and the page destination it should be moved to. A user must have enough permissions to attach the file to a destination page and enough permissions to read the configured attachment. Can move multiple attachments in one go, See Virtual functions for "asAttachment" function to see how | ||||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
Move Page | ||||||||||||||||||||||||
Moves page from one location to another A user performing an operation should have enough permissions (to move the page from source location to destination location) | ||||||||||||||||||||||||
Result type: | Moved page as object. Any property a Page object has For example (when result name is MYRESULT)
Any other property, which Page object provides (any "get" method) | Remove Page Label | ||||||||||||||||||||||
Redirect to URL | ||||||||||||||||||||||||
Redirects to given URL (server side forward if no timeout is given and if timeout is given then via JavaScript) You can give timeout in a way: url|timeout (in milliseconds) | ||||||||||||||||||||||||
Result type | NO RESULT | |||||||||||||||||||||||
Remove Attachment Label | ||||||||||||||||||||||||
Removes a label from attachment or attachments | ||||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
Remove Page Label | ||||||||||||||||||||||||
Removes page label(s). Silently ignores if a | Removes page label(s). Silently ignores if a page does not have a requested label to be removed | |||||||||||||||||||||||
Result type: | Page object, Any property a Page object via
| |||||||||||||||||||||||
Remove Page Watcher | ||||||||||||||||||||||||
Removes page watcher or watchers from the page Silently ignores if a page does not have a requested watcher to be removed. | ||||||||||||||||||||||||
Result type: | Page object, Any property a Page object via
| |||||||||||||||||||||||
Rename Page | ||||||||||||||||||||||||
Renames a page A user performing an operation should have enough permissions to modify the page | ||||||||||||||||||||||||
Result type: | Page object, Any property a Page object via
| |||||||||||||||||||||||
Restrict Page Edit | ||||||||||||||||||||||||
Result type: | Page object, Any property a Page object via
| |||||||||||||||||||||||
Restrict Page View | ||||||||||||||||||||||||
Result type: | Page object, Any property a Page object via
| |||||||||||||||||||||||
Render (execute) macro | ||||||||||||||||||||||||
Renders a contents of it's body and adds the result of a render into a result chain | ||||||||||||||||||||||||
Result type: | What render macro renders, as string
| |||||||||||||||||||||||
Run JavaScript | ||||||||||||||||||||||||
Executes a JavaScript snippet given in the IFTTT macro body Code snippet is executed in the "init" block
And will be executed on a page load. Administrators could restrict this in ConfiForms general settings! | ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | An internal object holding a JavaScript snippet You can access script value (as text)
(when IFTTT result is called "MYRESULT") | |||||||||||||||||||||||
Send Email | ||||||||||||||||||||||||
Send email to a recipient or a group of recipients Each email is sent individually To add ConfiForms file field to an email as attachment - place ConfiForms Field macro into the IFTTT macro body Email server configured in your Confluence server is used for sending the emails Emails sent by ConfiForms are NOT queued and sent immediately (to avoid "bulk" message flags, and sent "individual and personal" direct messages) | ||||||||||||||||||||||||
Macro body: | Is the template to be used to construct an email message body See more on Sending an email with attachments from Confluence with ConfiForms app
| |||||||||||||||||||||||
Result type: | NO RESULT (for versions of ConfiForms prior to 1.39.2)
The following properties are supported from version 1.39.2
This means, you can access it with
| |||||||||||||||||||||||
More details / examples: | There is a number of tutorials on using this action type:
| |||||||||||||||||||||||
Send Notification | ||||||||||||||||||||||||
Sends internal notification to a user (or users) in Confluence Notification will appear in the top-right corner. The message body is configured using the ConfiForms macro body This action type send internal Confluence notification to the user specified, the notification will be visible in the "workbox", in the right top corner of Confluence toolbar. Sending this type of notifications is very similar to Sending email, the difference is only in where the notification ends up. And what you can use for notification message body (defined through the ConfiForms IFTTT macro body) - free to use Confluence formatting macros, as they are correctly shown inside the Confluence notifications workbox. Confluence Notification could be sent only to a registered user (email notification can be sent to any external email address, unless your email server does not support that)
| ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
Update JIRA Issue | ||||||||||||||||||||||||
Updates JIRA issue JIRA issue key must be set as macro parameter, could be looked up dynamically from ConfiForms field It is a wrapper action to ease the setup of updates to JIRA issue from ConfiForms. Same could be achieved with the help of "Applink service" action IFTTT macro body should hold a JSON structure to update the JIRA issue (use "No Format" macro to construct JSON structure as-is) Example: Another example: See more on JSON structure the "update JIRA issue" API expects
| ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | Issue key as text, accessible directly via result name (for example, if result name is "MYRESULT")
| |||||||||||||||||||||||
Update ConfiForms entries by filter | ||||||||||||||||||||||||
Updates ConfiForms entries according to the pattern given by filter | ||||||||||||||||||||||||
Result type: | NO RESULT | |||||||||||||||||||||||
WebService Request | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Macro body: |
| |||||||||||||||||||||||
Result type: | Response returned by a call to webservice is accessible directly via result name (for example, if result name is "MYRESULT")
|
...