diff --git a/packages/backend/src/apps/slack/info.json b/packages/backend/src/apps/slack/info.json
index fbba4e74..86c16f97 100644
--- a/packages/backend/src/apps/slack/info.json
+++ b/packages/backend/src/apps/slack/info.json
@@ -102,6 +102,7 @@
{
"name": "New message posted to a channel",
"key": "newMessageToChannel",
+ "pollInterval": 15,
"description": "Triggers when a new message is posted to a channel",
"substeps": [
{
diff --git a/packages/backend/src/apps/twitter/info.json b/packages/backend/src/apps/twitter/info.json
index f8b3a20d..a9a4cd6c 100644
--- a/packages/backend/src/apps/twitter/info.json
+++ b/packages/backend/src/apps/twitter/info.json
@@ -218,6 +218,7 @@
{
"name": "My Tweets",
"key": "myTweets",
+ "pollInterval": 15,
"description": "Will be triggered when you tweet something new.",
"substeps": [
{
@@ -233,6 +234,7 @@
{
"name": "User Tweets",
"key": "userTweets",
+ "pollInterval": 15,
"description": "Will be triggered when a specific user tweet something new.",
"substeps": [
{
@@ -260,6 +262,7 @@
{
"name": "Search Tweets",
"key": "searchTweets",
+ "pollInterval": 15,
"description": "Will be triggered when any user tweet something containing a specific keyword, phrase, username or hashtag.",
"substeps": [
{
@@ -287,6 +290,7 @@
{
"name": "New follower of me",
"key": "myFollowers",
+ "pollInterval": 15,
"description": "Will be triggered when you have a new follower.",
"substeps": [
{
diff --git a/packages/backend/src/graphql/schema.graphql b/packages/backend/src/graphql/schema.graphql
index 7d9d22ad..195ee1b7 100644
--- a/packages/backend/src/graphql/schema.graphql
+++ b/packages/backend/src/graphql/schema.graphql
@@ -387,6 +387,7 @@ type Trigger {
name: String
key: String
description: String
+ pollInterval: Int
substeps: [TriggerSubstep]
}
diff --git a/packages/web/src/components/ChooseAppAndEventSubstep/index.tsx b/packages/web/src/components/ChooseAppAndEventSubstep/index.tsx
index 17470b1b..5afdb7f9 100644
--- a/packages/web/src/components/ChooseAppAndEventSubstep/index.tsx
+++ b/packages/web/src/components/ChooseAppAndEventSubstep/index.tsx
@@ -52,6 +52,7 @@ function ChooseAppAndEventSubstep(props: ChooseAppAndEventSubstepProps): React.R
const appOptions = React.useMemo(() => apps?.map((app) => optionGenerator(app)), [apps]);
const actionsOrTriggers = isTrigger ? app?.triggers : app?.actions;
const actionOptions = React.useMemo(() => actionsOrTriggers?.map((trigger) => optionGenerator(trigger)) ?? [], [app?.key]);
+ const selectedActionOrTrigger = actionsOrTriggers?.find((actionOrTrigger) => actionOrTrigger.key === step?.key) || null;
const {
name,
@@ -140,6 +141,16 @@ function ChooseAppAndEventSubstep(props: ChooseAppAndEventSubstepProps): React.R
)}
+ {isTrigger && selectedActionOrTrigger?.pollInterval && (
+
+ )}
+