Welcome to collective.ifttt!¶
collective.ifttt is a Plone addon which enables any Plone site to play in the IFTTT (pronounced /ɪft/) ecosystem by allowing you to create IFTTT applets at ifttt.com.
Below are a few examples of using IFTTT with Plone sites.
- If a news item is published, then tweet about it or post it on Facebook.
- If an event is published, then add it to my calendar.
- If new users sign up for an event, then add them to a Slack channel.
- If content changes, then record who edited it in a Google spreadsheet.
Contents¶
This documentation will teach you how to use collective.ifttt to create IFTTT applets for Plone sites. We’ll start with setting up a Plone RSS feed, which can be used on IFTTT without doing anything special. In the sections after that you will learn how to set up your IFTTT secret key and create IFTTT triggers for content and forms, so you can create more customized applets. Finally, we explain how this add-on uses Plone content rules under the hood. For those who are familiar with them, we show how to get even more flexibility by creating a content rule with an IFTTT action.
What is IFTTT?¶
ifttt.com - If This Then That, also known as IFTTT (pronounced /ɪft/) - is a free web-based service to create chains of simple conditional statements, called applets. These applets can perform a configured action in response to a trigger. Triggers and actions are web services provided by platforms such as Facebook, Pinterest, Youtube, Spotify - and now, Plone sites.
Below are a few examples of IFTTT applets for better understanding:
- If a video is liked on Youtube, then save the video details in Evernote
- If a profile picture gets changed on Facebook, then update the same profile picture on Twitter
- If I’m tagged in a photo on Facebook, then save it to my phone gallery
- If I receive an email about a new Twitter follower in my Gmail inbox, then tweet the new follower a welcome message
- If NASA posts a new astronomy picture of the day, then add it to my screensaver gallery.
- Email me about Top Apps that have become FREE in the Apple App Store.
- Automatically unmute my Android phone when I get back home.
- Add a Spotify song from a liked YouTube Video.
collective.ifttt is an addon which enables any Plone site to play in the IFTTT ecosystem by allowing you to create IFTTT applets.
Below are a few examples of using IFTTT with Plone sites.
- If a news item is published, then tweet about it or post it on Facebook.
- If an event is published, then add it to my calendar.
- If new users sign up for an event, then add them to a Slack channel.
- If content changes, then record who edited it in a Google spreadsheet.
Introduction to IFTTT Applets¶
What is an Applet?¶
An IFTTT applet connects two or more apps or devices together. It enables you to do something that those apps or devices couldn’t do on their own.
IFTTT applets are composed of triggers (the “this” in “if this then that”) and actions (the “that”). Triggers tell an applet to start and provide it with data, and actions are the end result of an applet run. To use IFTTT applets, you’ll need a free IFTTT account. Then you can connect your apps and devices with IFTTT.
Follow this link for an example of easy creation of an IFTTT applet.
Enabling RSS Feeds On Plone Sites¶
Introduction¶
Plone can generate RSS feeds from folderish content types like folders and collections. First you must enable syndication on your site so that RSS feeds will be generated. Then you can go to the collection or folder you want to use as a feed and adjust its syndication settings.
If you want to aggregate a particular set of content to an RSS feed, you can create a collection content item for that purpose. You can choose what content types to aggregate and filter by fields such as labels, dates, location or language. Collections are language aware so this works correctly on multilingual sites.
Once you have an RSS feed you can use it on IFTTT without doing anything special. No secret key, no IFTTT trigger, you don’t even need to install collective.ifttt.
Below are the steps to create an example RSS feed on a Plone 5 site. You can tweak the configuration to meet your requirements and make different kinds of RSS feeds given the flexibility of collections.
If you are using Plone 4, the Site Setup instructions given below are similar. See this page for instructons on how to enable RSS on a folder or collection.
Enabling Syndication¶
Step 1
Go to Site Setup.

Step 2
Select Syndication under General.

Step 3
Select the following and save:
- Allowed
- Search RSS enabled (if you want to be able to use search results as feeds)
- Show settings button (this will enable the Syndication tab on the edit bar of folders and collections)
- Show feed link (this allows you to show an RSS link on the folder or collection)
- Save
You may optionally include author information and adjust the maximum number of feed items.

Creating a Collection to Use as an RSS Feed¶
Step 1
Go to the site root. (This is a special type of object, so the Syndication tab will not show on the edit bar here, like it will on all other folders.)

Step 2
Add a new collection.

Step 3
Configure your collection. The configuration given below will aggregate all available published content. This can be tweaked to suit your own requirements.
- Update
Title
to “Plone Site - RSS feed” or any other suitable name.- For
Select Criteria
, choose Review State as Published. (Otherwise unpublished items will show in your feed and people will get an error when they click on that URL.)- For
Sort On
choose Effective date and checkReversed Order
.

Step 4
On the Settings tab check Exclude from navigation
if you want to make it disappear from the navigation tree.
Save your new collection.

Step 5
If the collection’s content seems to be right, publish it using the State
menu on the edit bar.

Viewing Your RSS Feed¶
Step 1
Your RSS feed can be viewed by appending /RSS
to your collection’s (or folder’s) URL -
something like /path_to_collection/RSS
. (Note that this is case sensitive, “/rss” will not work.)
For our example the URL to the RSS feed is http://localhost:8080/Plone/plone-site-rss-feed/RSS

Step 2
To show a link to the RSS feed on a collection or folder, enable it on the edit bar’s Syndication tab as shown below. This is an optional step - many sites choose not to show these feed links because it might confuse their users.

Now your RSS feed is ready to be used in an IFTTT applet. You can test it by copy-pasting the RSS URL into an RSS Reader, like feeder.co or Mozilla Reader.
Using Plone RSS Feeds in IFTTT Applets¶
To learn how to create an IFTTT applet using an RSS feed, follow the example below. This applet will add a new row to a Google Spreadsheet each time an item is published on an RSS feed. You can change this configuration to suit your own requirements.
- Signup for a free IFTTT account.
- Navigate to your username in the upper right corner.
- Select New Applet from the dropdown menu.
- Click the blue ‘this’ text.
- Search for
rss
and selectRSS Feed
.

- Choose New feed item as the trigger.
- Fill in the RSS feed URL in the given space. Click Create Trigger.

- Click the blue ‘that’ text.
- Search for
google
and choose Google Sheets as the Action Service.

- Choose Add row to spreadsheet as the action.
- Configure the form as you wish and click Create Action.

- Click Finish.

This creates a new IFTTT Applet.

Now every time an item is published on the RSS feed, it will automatically be added as a new row to the Google Spreadsheet.

Configure a Plone Site with an IFTTT Secret Key¶
IFTTT supports push notification, which can be leveraged to get instant notifications from a Plone site. To do that you need to configure the Plone site with your IFTTT secret key.
Follow the steps below to get your IFTTT secret key and save it in your Plone site.
Obtaining an IFTTT Secret Key¶
- Go to ifttt.com and sign up for an account.
- At the top click on ‘Search’ and find ‘Webhooks’. Click on ‘Services’.

- Click on the ‘Webhooks’ service to create it.

- Click on the gear icon (Settings) on the top-right of the Webhooks service to view your key.

Saving an IFTTT Secret Key in Plone¶
- Go to Site Setup

- Select
IFTTT Settings
under Add-on Configuration

- Copy your key to the Secret Key field and click Save.

Content Trigger¶
This document will explain how to add an IFTTT “Content Trigger” to a Plone folder. The Content Trigger will send a triggering event to IFTTT when content in or below the folder is published. This allows creation of IFTTT applets to, for example, email, tweet, or Facebook post about the content.
Note: For the trigger to work, an IFTTT secret key must be configured for the site as described at Configure a Plone Site with an IFTTT Secret Key.
Add Content Trigger¶
Follow the steps given below to add a Content Trigger to any folder.
- Traverse to the desired folder.
- From the IFTTT menu select
Add IFTTT Content Trigger
.

- Fill in the form with the required values and click
Add
. Note that the event name will be used in the URL that will trigger IFTTT, so it must be a URL-friendly name (no spaces or special characters).

Behind the Scenes¶
Collective.ifttt uses Plone content rules to implement IFTTT triggers. For those who are interested, this section explains what happens behind the scenes.
After the Add form gets filled in, a new content rule is dynamically created and
applied to the folder. See the Rules
menu on the left bar to see all the
folder’s content rules.

The new content rule will be triggered by a Plone Workflow state changed
event.
It has the following conditions defined:
- One condition for each content type selected
- One condition for the selected workflow transition
- One condition for the
published
workflow state
The content rule will have one action, IFTTT Trigger
. This action
will trigger IFTTT with an event named according to what was filled out
on the Add form.
Data Sent to IFTTT¶
The event sent to IFTTT by the Content Trigger will contain the following 3 payload data items for the content object that was published:
- Title
- URL
- Description
User Trigger¶
This document will explain how to add an IFTTT “User Trigger” to a Plone folder. The User Trigger will send a triggering event to IFTTT when content in or below the folder is edited, including information about who changed it. This allows creation of IFTTT applets to, for example, log the edit information to Slack or a Google spreadsheet.
Note: For the trigger to work, an IFTTT secret key must be configured for the site as described at Configure a Plone Site with an IFTTT Secret Key.
Add User Trigger¶
Follow the steps given below to add a User Trigger to any folder.
- Traverse to the desired folder.
- From the IFTTT menu select
Add IFTTT User Trigger
.

- Fill out the form with the required values and click
Add
. Note that the event name will be used in the URL that will trigger IFTTT, so it must be a URL-friendly name (no spaces or special characters).

Behind the Scenes¶
Collective.ifttt uses Plone content rules to implement IFTTT triggers. For those who are interested, this section explains what happens behind the scenes.
After the Add form gets filled in, a new content rule is dynamically created and applied to the folder. See the Rules menu on the left bar to see all the folder’s content rules.

The new content rule will be triggered by a Plone Object Modified
event.
It will have one condition defined for each content type selected,
and one action, IFTTT Trigger. This action will trigger IFTTT with an event
named according to what was filled out on the Add form.
Data Sent to IFTTT¶
The event sent to IFTTT by the User Trigger will contain the following 3 payload data items for the content object that was edited:
- Title
- URL
- Username of the person who modified the content
Event Trigger¶
This document will explain how to add an IFTTT “Event Trigger” to a Plone folder. The Event Trigger will send a trigger to IFTTT when an event in or below the folder is published. This allows creation of IFTTT applets to, for example, add new events to a calendar.
Note: For the trigger to work, an IFTTT secret key must be configured for the site as described at Configure a Plone Site with an IFTTT Secret Key.
Add Event Trigger¶
Follow the steps given below to add an Event Trigger to any folder.
- Traverse to the desired folder.
- From the IFTTT menu select
Add IFTTT Event Trigger
.

- Fill in the form with the required values and click
Add
. Note that the event name will be used in the URL that will trigger IFTTT, so it must be a URL-friendly name (no spaces or special characters).

Behind the Scenes¶
Collective.ifttt uses Plone content rules to implement IFTTT triggers. For those who are interested, this section explains what happens behind the scenes.
After the Add form gets filled in, a new content rule is dynamically created and applied to the folder. See the Rules menu on the left bar to see all the folder’s content rules.

The new content rule will be triggered by a Plone Workflow state changed
event.
It will have these conditions defined:
- One condition for the event content type
- One condition for the selected workflow transition
- One condition for the published workflow state
The content rule will have one action, IFTTT Trigger. This action will trigger IFTTT with an event named according to what was filled out on the Add form.
Data Sent to IFTTT¶
The event sent to IFTTT by the Event Trigger will contain the following 3 payload data items for the event that was published:
- Title
- URL
- Event start date/time
Manage Folder Triggers¶
This document will explain how to see the IFTTT triggers that are set on a folder and delete one or more of them.
- Traverse to the desired folder.
- From the IFTTT menu select
Manage IFTTT Triggers
.

- Select the triggers to delete and click
Delete
, or clickCancel
to make no changes.
Easyform Trigger¶
This document will exhplain how to add an IFTTT Trigger to an Easyform by using the Easyform action that is provided in this package.
What are Easyforms?¶
Easyforms provide a Plone through-the-web form builder using fields, widgets, actions and validators. To learn more about Easyforms, see the Easyform documentation.
About IFTTTTrigger¶
Collective.ifttt provides a new Easyform action called IFTTTTrigger. It can be added to a form at any time but it will not be functional until it has at least 1 IFTTT payload defined. On successful form submission, IFTTTTrigger will send a triggering event to IFTTT that contains selected form field data as payloads.
Add IFTTT Action¶
Follow the steps given below to add an IFTTTTrigger action to any Easyform.
- Create the Easyform as described here.
- Add an action to the form.

3. Click on Add new action
, fill in the required details
and select IFTTTTrigger
as Action type.

- Click
Settings
on the created action to configure it.

- Configure the action and click Save:
- Provide the IFTTT event name you want to use - note that this will be used in the URL sent to trigger IFTTT, so it must be a URL-friendly name (no spaces or special characters)
- Select up to 3 form fields to use as the payloads

Now upon every successful submission of the form, the data in the selected form fields will be sent to IFTTT as the event payloads.
Working Example of Applets and Triggers¶
This document will guide you through a working example of collective.ifttt trigger with an IFTTT applet.
In this demonstration we create an IFTTT User Trigger at the news folder for an applet that posts to the Google Sheets when any object is modified at news.
Note:
1. An IFTTT applet can be assigned to multiple triggers and multiple triggers can be assigned to a folder. 2. A trigger is only assigned to a folder and it’s subfolder.
Create IFTTT Applet¶
Follow below instruction to create an IFTTT Applet:
- Signup for a free IFTTT account.
- Navigate to your username in the upper right corner.
- Select New Applet from the dropdown menu.
- Click the blue ‘this’ text.
- Search for
Webhooks
and select it. - On Choose trigger screen click on Receive a web request
- Enter the Event Name: collective_ifttt_edits and hit create trigger.
- Click +that
- Action service - search for and choose Google Sheets
- On Choose action screen click Add row to spreadsheet
- Fill action fields and click hit create action.
- For payload values refer to documetation of respected Trigger. For example, here we are creating User Trigger, so value1 is Title, value2 is Url and `value3 is Username) of the modified the content.

- Connect to Google Account (if not)
- Click Authorize (it magically authorized)
- Review configuration and Click Finish.
This creates a new IFTTT Applet.

Create Trigger¶
- To create a trigger, first, Configure a Plone Site with an IFTTT Secret Key (if not already).
- Next create a Trigger on any folder. In this demonstration we create a User Trigger on news folder with IFTTT event name as name of created applet.

- Modify any existing news item and see the magic.

- Required details on Google Sheets.


Content Rule Action “Trigger IFTTT”¶
Plone Content Rules are a powerful mechanism to automate dealing with content using conditions and actions. A content rule will automatically perform actions when certain Plone events (known as content rule “triggers”) take place and the defined conditions are met.
Collective.ifttt contains a new content rule action, IFTTT Trigger, that posts an event to the IFTTT web service when a content rule is triggered and its conditions are satisfied. Content rules with this action are used to implement the folder-level triggers that collective.ifttt provides (Content Trigger, Event Trigger, etc.) If the functionality provided by these out-of-the-box triggers does not meet your needs, you can create your own content rule with the IFTTT Trigger action and your own conditions.
Creating and Defining Content Rules¶
Plone’s documentation provides instructions for creating content rules. Here is a simple example of a content rule to send an IFTTT trigger when a news item is modified. The resulting rule can be assigned to any folder on your site or to the site root.
- Triggering event: Object modified
- Condition: Content type equals News Item
- Action: Select “IFTTT Trigger” from the drop down menu and click on the “Add” button.

- Fill out the form:
- For “IFTTT event name” enter the IFTTT event which you want to trigger. Note that the event name will be used in the URL sent to the IFTTT webservice, so it must be a URL-friendly name (no spaces or special characters)
- Choose the 3rd payload from the options provided - description, username, or event start time (which will only be used if the content triggering the action is an event).
- Click the “Save” button.

Data Sent to IFTTT¶
The event sent to IFTTT will contain the following 3 payload data items from the content object that triggered the content rule:
- Title
- URL
- The 3rd payload chosen on the form