diff --git a/packages/backend/src/apps/slack/info.json b/packages/backend/src/apps/slack/info.json
index d2ccc565..1696ec3a 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 da657121..88d1f646 100644
--- a/packages/backend/src/apps/twitter/info.json
+++ b/packages/backend/src/apps/twitter/info.json
@@ -220,6 +220,7 @@
{
"name": "My Tweets",
"key": "myTweets",
+ "pollInterval": 15,
"description": "Will be triggered when you tweet something new.",
"substeps": [
{
@@ -235,6 +236,7 @@
{
"name": "User Tweets",
"key": "userTweets",
+ "pollInterval": 15,
"description": "Will be triggered when a specific user tweet something new.",
"substeps": [
{
@@ -262,6 +264,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": [
{
@@ -289,6 +292,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 d26c9bf9..1b68fa54 100644
--- a/packages/backend/src/graphql/schema.graphql
+++ b/packages/backend/src/graphql/schema.graphql
@@ -386,6 +386,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 && (
+
+ )}
+