diff --git a/packages/backend/src/apps/monday/triggers/index.js b/packages/backend/src/apps/monday/triggers/index.js index d03846d1..6ffc8710 100644 --- a/packages/backend/src/apps/monday/triggers/index.js +++ b/packages/backend/src/apps/monday/triggers/index.js @@ -1,3 +1,4 @@ import newBoards from './new-boards/index.js'; +import newUsers from './new-users/index.js'; -export default [newBoards]; +export default [newBoards, newUsers]; diff --git a/packages/backend/src/apps/monday/triggers/new-boards/index.js b/packages/backend/src/apps/monday/triggers/new-boards/index.js index 8aa974be..599d7d2e 100644 --- a/packages/backend/src/apps/monday/triggers/new-boards/index.js +++ b/packages/backend/src/apps/monday/triggers/new-boards/index.js @@ -8,7 +8,7 @@ export default defineTrigger({ async run($) { const body = { - query: 'query { boards { id, name } }', + query: 'query { boards { id, name, type } }', }; const { data } = await $.http.post('/', body); @@ -18,12 +18,14 @@ export default defineTrigger({ } for (const board of data.data.boards) { - $.pushTriggerItem({ - raw: board, - meta: { - internalId: board.id, - }, - }); + if (board.type === 'board') { + $.pushTriggerItem({ + raw: board, + meta: { + internalId: board.id, + }, + }); + } } }, }); diff --git a/packages/backend/src/apps/monday/triggers/new-users/index.js b/packages/backend/src/apps/monday/triggers/new-users/index.js new file mode 100644 index 00000000..aa0e474b --- /dev/null +++ b/packages/backend/src/apps/monday/triggers/new-users/index.js @@ -0,0 +1,29 @@ +import defineTrigger from '../../../../helpers/define-trigger.js'; + +export default defineTrigger({ + name: 'New users', + key: 'newUsers', + pollInterval: 15, + description: 'Triggers when a new user joins your account.', + + async run($) { + const body = { + query: 'query { users { id name } }', + }; + + const { data } = await $.http.post('/', body); + + if (!data.data?.users?.length) { + return; + } + + for (const user of data.data.users.reverse()) { + $.pushTriggerItem({ + raw: user, + meta: { + internalId: user.id, + }, + }); + } + }, +}); diff --git a/packages/backend/src/models/__snapshots__/app.test.js.snap b/packages/backend/src/models/__snapshots__/app.test.js.snap index 624194aa..33000024 100644 --- a/packages/backend/src/models/__snapshots__/app.test.js.snap +++ b/packages/backend/src/models/__snapshots__/app.test.js.snap @@ -40,6 +40,7 @@ exports[`App model > list should have list of applications keys 1`] = ` "mattermost", "miro", "mistral-ai", + "monday", "notion", "ntfy", "odoo", diff --git a/packages/docs/pages/.vitepress/config.js b/packages/docs/pages/.vitepress/config.js index aada214b..dde76d78 100644 --- a/packages/docs/pages/.vitepress/config.js +++ b/packages/docs/pages/.vitepress/config.js @@ -345,8 +345,8 @@ export default defineConfig({ collapsible: true, collapsed: true, items: [ - { text: 'Actions', link: '/apps/monday/actions' }, { text: 'Triggers', link: '/apps/monday/triggers' }, + { text: 'Actions', link: '/apps/monday/actions' }, { text: 'Connection', link: '/apps/monday/connection' }, ], }, diff --git a/packages/docs/pages/apps/monday/triggers.md b/packages/docs/pages/apps/monday/triggers.md index b33d1451..f1b79fb8 100644 --- a/packages/docs/pages/apps/monday/triggers.md +++ b/packages/docs/pages/apps/monday/triggers.md @@ -3,6 +3,8 @@ favicon: /favicons/monday.svg items: - name: New board desc: Triggers when a new board is created. + - name: New users + desc: Triggers when a new user joins your account. ---