Skip to content

feat: add ifttt docs #1567

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

jakcinmarina
Copy link

Documentation for IFTTT and Apify integration.

@jakcinmarina jakcinmarina requested a review from TC-MO as a code owner May 6, 2025 08:46
@drobnikj drobnikj requested review from drobnikj and MisaFialova May 6, 2025 09:20
Copy link
Contributor

@TC-MO TC-MO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've rewritten the doc to fix few issues like:

  • Actor capitalization
  • Fix formatting
  • Restructure it for better flow
  • Added docusaurus admonition

Apart from that I have few questions

  1. I assume this is IFTTT default light mode scheme? If yes that is unfortunate but nothing can be done about it.
  2. I noticed discrepancies on the screenshots, sometimes it's Actor and other times it's Actor, would be great to unify it to Actor.

@@ -0,0 +1,123 @@
---
title: IFTTT integration
description: Connect Apify Actors with IFTTT to automate workflows using actor run events, data queries, and task actions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Connect Apify Actors with IFTTT to automate workflows using actor run events, data queries, and task actions.
description: Connect Apify Actors with IFTTT to automate workflows using Actor run events, data queries, and task actions.

Comment on lines 9 to 33
**Learn how to integrate your Apify Actors in IFTTT Applets.**

This guide explains how to use the Apify integration in IFTTT to build automations (Applets) triggered by actor or task runs and start new runs automatically.

An Applet is built from three key parts: a trigger that kicks off the workflow, optional queries that fetch the data, and one or more actions that execute when the Applet runs.

---

With [Apify integration for IFTTT](https://ifttt.com/apify), you can connect your Apify Actors to hundreds of services like Twitter, Gmail, Google Sheets, Slack, and more.

Your Applets can start Apify Actors or tasks, fetch items from a dataset and get records from key-value stores.

## Connect Apify with IFTTT

To use the Apify integration on IFTTT, you will need to:

- Have an [Apify account](https://console.apify.com/).
- Have an [IFTTT account](https://ifttt.com/).

To connect to Apify service:

- visit [Apify service page](https://ifttt.com/apify)
- click "Connect" button
- you will be redirected to the Apify login page
- login to your Apify console
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Learn how to integrate your Apify Actors in IFTTT Applets.**
This guide explains how to use the Apify integration in IFTTT to build automations (Applets) triggered by actor or task runs and start new runs automatically.
An Applet is built from three key parts: a trigger that kicks off the workflow, optional queries that fetch the data, and one or more actions that execute when the Applet runs.
---
With [Apify integration for IFTTT](https://ifttt.com/apify), you can connect your Apify Actors to hundreds of services like Twitter, Gmail, Google Sheets, Slack, and more.
Your Applets can start Apify Actors or tasks, fetch items from a dataset and get records from key-value stores.
## Connect Apify with IFTTT
To use the Apify integration on IFTTT, you will need to:
- Have an [Apify account](https://console.apify.com/).
- Have an [IFTTT account](https://ifttt.com/).
To connect to Apify service:
- visit [Apify service page](https://ifttt.com/apify)
- click "Connect" button
- you will be redirected to the Apify login page
- login to your Apify console
**Connect Apify Actors with IFTTT to automate workflows using Actor run events, data queries, and task actions.**
---
[IFTTT](https://ifttt.com) is a service that helps you create automated workflows called Applets. With the [Apify integration for IFTTT](https://ifttt.com/apify), you can connect your Apify Actors to hundreds of services like Twitter, Gmail, Google Sheets, Slack, and more.
This guide shows you how to integrate Apify Actors with IFTTT to build automated workflows. You'll learn how to create IFTTT Applets that can be triggered by Apify events or that can execute Apify tasks.
An IFTTT Applet consists of three key parts:
- A _trigger_ that starts the workflow
- Optional _queries_ that retrieve data
- One or more _actions_ that execute when the Applet runs
The Apify integration lets you trigger workflows when an Actor or task run finishes, start Actor or task runs from other triggers, or retrieve data from datasets and key-value stores.
## Prerequisites
Before using the Apify integration with IFTTT, you need:
- An [Apify account](https://console.apify.com/)
- An [IFTTT account](https://ifttt.com/)
## Connect Apify with IFTTT
To connect your Apify account to IFTTT:
1. Visit the [Apify service page](https://ifttt.com/apify) on IFTTT.
2. Click the **Connect** button.
3. When redirected to the Apify login page, sign in to your Apify account.

Comment on lines 37 to 51
### Step 1: Create an Applet with Apify service

To create an Applet, go to the [Explore](https://ifttt.com/explore) section and find the "Create" button.

In the create Applet form, you can choose whether you want to use Apify as the trigger or action.

Click on "Add" button in "If This" part of the applet and find Apify using the search box.

![Apify Choose Service](../images/ifttt-choose-service.png)

Then select which trigger you want to use.

![Apify Choose Trigger](../images/ifttt-choose-trigger.png)

In case you didn't connect to the Apify account, you will be prompted to do so when you select a trigger.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should triggers be capitalized or lower-case?

Suggested change
### Step 1: Create an Applet with Apify service
To create an Applet, go to the [Explore](https://ifttt.com/explore) section and find the "Create" button.
In the create Applet form, you can choose whether you want to use Apify as the trigger or action.
Click on "Add" button in "If This" part of the applet and find Apify using the search box.
![Apify Choose Service](../images/ifttt-choose-service.png)
Then select which trigger you want to use.
![Apify Choose Trigger](../images/ifttt-choose-trigger.png)
In case you didn't connect to the Apify account, you will be prompted to do so when you select a trigger.
## Create an Applet with Apify
### Create an Applet
To create an Applet that starts when Apify event occurs:
1. Go to the [Explore](https://ifttt.com/explore) section on IFTTT.
1. Click the **Create** button.
1. In the **If this** section, click **Add**.
1. Search for and select **Apify** in the service list.
![Apify Choose Service](../images/ifttt-choose-service.png)
1. Select a trigger from the available options:
- **Actor Run Finished**: Triggers when a selected Actor run completes
- **Task Run Finished**: Triggers when a selected Actor task run completes
![Apify Choose Trigger](../images/ifttt-choose-trigger.png)
1. Configure the trigger by selecting the specif Actor or task.
1. Click **Create trigger** to continue.
In case you didn't connect to the Apify account, you will be prompted to do so when you select a trigger.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In their docs I've seen trigger always written lowercase, so I guess it's fine to leave it lowercase then?

Comment on lines 53 to 86
### Step 2: Set up your Apify action in an Applet

You are able to use any action to follow your Apify trigger. For example, you can use Gmail to send an email about a finished Actor run.

In this guide we'll show you how to use Apify as an action to start an Actor run.

After you select Apify as an action in the "Then That" part of the applet, you need to select the action you want to use. Let's use the "Run Actor" action for this example.

![Apify Choose Action](../images/ifttt-choose-action.png)

In the next step, you need to select the Actor you want to use. You can choose one by selecting it from the dropdown. You can choose between your recently used Actors and Actors from the store. IFTTT only displays up to 50 items in a dropdown at a time. If the actor or item you're looking for doesn't show up, it's not necessarily missing — it just might not be in the top 50 results yet.

>To make an Actor appear in the dropdown, try using it at least once via API or in the console.

We will use the Google Search Results Scraper Actor in this example.

![Apify Actor Customization](../images/ifttt-actor-config.png)

You can customize how the Actor runs by filling out the following parameters:

| Field | Description | Example Values |
| ------------- | --------------------------------------------------------------------------- | ------------------------- |
| `Wait until run finishes` | Defines how the actor should be executed. | `yes`, `no` |
| `Input overrides` | JSON input that will override actor's default input. | `{"key": "value"}` |
| `Build` | Specifies the Actor build to run. Can be build tag or build number. | `0.2.10`, `version-0` |
| `Memory` | Memory limit for the run in megabytes. | `256mb` |

Once you're happy with the Actor customization, continue by pressing "Create action" button.

![Apify Actor Customization](../images/ifttt-applet-overview.png)

Once the applet is created, wait for you trigger to run and inspect the results by pressing the "View activity" button in the Applet overview page.

![Apify Actor Customization](../images/ifttt-applet-inspect.png)
Copy link
Contributor

@TC-MO TC-MO May 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Step 2: Set up your Apify action in an Applet
You are able to use any action to follow your Apify trigger. For example, you can use Gmail to send an email about a finished Actor run.
In this guide we'll show you how to use Apify as an action to start an Actor run.
After you select Apify as an action in the "Then That" part of the applet, you need to select the action you want to use. Let's use the "Run Actor" action for this example.
![Apify Choose Action](../images/ifttt-choose-action.png)
In the next step, you need to select the Actor you want to use. You can choose one by selecting it from the dropdown. You can choose between your recently used Actors and Actors from the store. IFTTT only displays up to 50 items in a dropdown at a time. If the actor or item you're looking for doesn't show up, it's not necessarily missing — it just might not be in the top 50 results yet.
>To make an Actor appear in the dropdown, try using it at least once via API or in the console.
We will use the Google Search Results Scraper Actor in this example.
![Apify Actor Customization](../images/ifttt-actor-config.png)
You can customize how the Actor runs by filling out the following parameters:
| Field | Description | Example Values |
| ------------- | --------------------------------------------------------------------------- | ------------------------- |
| `Wait until run finishes` | Defines how the actor should be executed. | `yes`, `no` |
| `Input overrides` | JSON input that will override actor's default input. | `{"key": "value"}` |
| `Build` | Specifies the Actor build to run. Can be build tag or build number. | `0.2.10`, `version-0` |
| `Memory` | Memory limit for the run in megabytes. | `256mb` |
Once you're happy with the Actor customization, continue by pressing "Create action" button.
![Apify Actor Customization](../images/ifttt-applet-overview.png)
Once the applet is created, wait for you trigger to run and inspect the results by pressing the "View activity" button in the Applet overview page.
![Apify Actor Customization](../images/ifttt-applet-inspect.png)
### Set up an Apify Action
To use Apify as an action in your Applet:
1. In the **Then That** section of your Applet, click **Add**.
1. Search for and select **Apify**.
1. Choose an action:
- **Run Actor**: Starts an Actor run
- **Run Task**: Starts an Actor Task run
![Apify Choose Action](../images/ifttt-choose-action.png)
1. Select the Actor or task you want to use from the dropdown menu.
:::note
IFTTT displays up to 50 recent items in a dropdown. If your Actor or task isn't visible, try using it at least once via API or in the Apify Console to make it appear in the list.
:::
![Apify Actor Customization](../images/ifttt-actor-config.png)
1. Configure the action parameters:
| Parameter | Description | Example Values |
|-----------|-------------|----------------|
| **Wait until run finishes** | Defines how the Actor should be executed. | `yes`, `no` |
| **Input overrides** | JSON input that overrides the Actor's default input. | `{"key": "value"}` |
| **Build** | Specifies the Actor build to run. Can be a build tag or build number. See [Builds](/platform/actors/running/runs-and-builds#builds) for more information. | `0.2.10`, `version-0` |
| **Memory** | Memory limit for the run in megabytes. See [Memory](/platform/actors/running/usage-and-resources#memory) for more information. | `256` |
1. Click **Create action** to finish setting up the action.
![Apify Actor Customization](../images/ifttt-applet-overview.png)
1. Give your Applet a name and click **Finish** to save it.
## Monitor your Applet
To check if your Applet is working properly:
1. Go to your Applet's detail page.
1. Clicke the **View activity** button to see the execution history.
![Apify Actor Customization](../images/ifttt-applet-inspect.png)

Comment on lines 88 to 131
## Triggers

### Actor Run Finished

> Triggers when a selected Actor run is finished.

### Task Run Finished

> Triggers when a selected Actor task run is finished.

## Actions

### Run Actor

> Runs a selected Actor.

### Run Task

> Runs a selected Actor task.


## Queries

### Get Dataset Items

> Retrieves items from a [dataset](/platform/storage/dataset).

### Scrape Single URL

> Runs a scraper for the website and returns its content.

### Get Key-Value Store Record

> Retrieves value from a [Key-value store](/platform/storage/key-value-store).

If you have any questions or need help, feel free to reach out to us on our [developer community on Discord](https://discord.com/invite/jyEM2PRvMU).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Triggers
### Actor Run Finished
> Triggers when a selected Actor run is finished.
### Task Run Finished
> Triggers when a selected Actor task run is finished.
## Actions
### Run Actor
> Runs a selected Actor.
### Run Task
> Runs a selected Actor task.
## Queries
### Get Dataset Items
> Retrieves items from a [dataset](/platform/storage/dataset).
### Scrape Single URL
> Runs a scraper for the website and returns its content.
### Get Key-Value Store Record
> Retrieves value from a [Key-value store](/platform/storage/key-value-store).
If you have any questions or need help, feel free to reach out to us on our [developer community on Discord](https://discord.com/invite/jyEM2PRvMU).
## Available triggers, actions, and queries
### Triggers
- **Actor Run Finished**: Activates when a selected Actor run completes
- **Task Run Finished**: Activates when a selected Actor task run completes
### Actions
- **Run Actor**: Starts a specified Actor with customizable parameters
- **Run Task**: Executes a specified Actor task
### Queries
- **Get Dataset Items**: Retrieves items from a [dataset](/platform/storage/dataset)
- **Scrape Single URL**: Runs a scraper for a specified website and returns its content
- **Get Key-Value Store Record**: Retrieves a value from a [key-value store](/platform/storage/key-value-store)
## Troubleshooting
- Ensure your JSON inputs in the "Input overrides" field are valid and properly formatted.
- If an Applet fails to trigger, check your Apify API token permissions.
If you have any questions or need help, feel free to reach out to us on our [developer community on Discord](https://discord.com/invite/jyEM2PRvMU).

@jakcinmarina
Copy link
Author

jakcinmarina commented May 12, 2025

I've rewritten the doc to fix few issues like:

  • Actor capitalization
  • Fix formatting
  • Restructure it for better flow
  • Added docusaurus admonition

Apart from that I have few questions

  1. I assume this is IFTTT default light mode scheme? If yes that is unfortunate but nothing can be done about it.
  2. I noticed discrepancies on the screenshots, sometimes it's Actor and other times it's Actor, would be great to unify it to Actor.

Hey @TC-MO , regarding the questions:

  1. yeah I haven't seen any option to change the theme. The light theme is there by default but Apify service uses black as the main colour so that's why in places it might look like dark theme. This is needed cause the logo of service is white so there needs to be some contrast.
  2. Sorry, not sure about the issue with screenshots, in all places in this sentence I see Actor :D Is it some capitalisation issue or?

I will implement now the requested changes, thank you for the suggestions!

@jakcinmarina jakcinmarina requested a review from TC-MO May 12, 2025 13:37
Copy link
Contributor

@TC-MO TC-MO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here you can see 4 instances of lower case actor

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lower case actor's in Input overrides

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lower case actor in Run actor

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lower case actor in Run actor

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lower case actor in Actor run finished description

@TC-MO
Copy link
Contributor

TC-MO commented May 12, 2025

Oh I see that I misstyped in my original comment , I apologize for that. I meant that sometimes it is written Actor and sometimes actor ,and that it would be great to unify it to Actor

@jakcinmarina
Copy link
Author

Oh I see that I misstyped in my original comment , I apologize for that. I meant that sometimes it is written Actor and sometimes actor ,and that it would be great to unify it to Actor

no worries, that's what I thought but just wanted to double check :) I replaced the images!

@jakcinmarina jakcinmarina requested a review from TC-MO May 13, 2025 00:08
Copy link
Contributor

@TC-MO TC-MO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I left two more comments tho if you could address them:

  1. by apify capitalization on one screenshot
  2. Spotted a typo and suggested a fix :)

otherwise LGTM from my POV

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One small nit shouldn't it be by Apify not by apify?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah, this is just our account username, it's cause these applets are personal and not created by the service, so this wont appear for users like that. Unless you want me to change our username and re-do the screenshots?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean ideal scenario is for screenshots to always reflect what the end user will experience, not sure hot to proceed in this case

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we get a screenshot with state that the end-user will see?

Copy link
Author

@jakcinmarina jakcinmarina May 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean, user will see their username in that place when they create an Applet. This is our username (apify in lowercase) so that's what's visible for us when we create an applet. We probably could change it for something else like 'Test User' or similar to avoid confusion.
All other applets that would be created directly by Apify would have apify logo next to 'Apify' like this:
image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah okay, thank you for thorough explanation! :) I think we can then leave the current screenshot and not bother with changing it


![Apify Choose Trigger](../images/ifttt-choose-trigger.png)

1. Configure the trigger by selecting the specif Actor or task.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo fix

Suggested change
1. Configure the trigger by selecting the specif Actor or task.
1. Configure the trigger by selecting the specific Actor or task.

@jakcinmarina jakcinmarina force-pushed the feat/ifttt-documentation branch from 00063a9 to e994846 Compare May 14, 2025 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants