diff --git a/packages/backend/src/apps/clickup/actions/create-folder/index.js b/packages/backend/src/apps/clickup/actions/create-folder/index.js
new file mode 100644
index 00000000..2db2acdb
--- /dev/null
+++ b/packages/backend/src/apps/clickup/actions/create-folder/index.js
@@ -0,0 +1,72 @@
+import defineAction from '../../../../helpers/define-action.js';
+
+export default defineAction({
+ name: 'Create folder',
+ key: 'createFolder',
+ description: 'Creates a new folder.',
+ arguments: [
+ {
+ label: 'Workspace',
+ key: 'workspaceId',
+ type: 'dropdown',
+ required: true,
+ description: '',
+ variables: true,
+ source: {
+ type: 'query',
+ name: 'getDynamicData',
+ arguments: [
+ {
+ name: 'key',
+ value: 'listWorkspaces',
+ },
+ ],
+ },
+ },
+ {
+ label: 'Space',
+ key: 'spaceId',
+ type: 'dropdown',
+ required: true,
+ dependsOn: ['parameters.workspaceId'],
+ description: '',
+ variables: true,
+ source: {
+ type: 'query',
+ name: 'getDynamicData',
+ arguments: [
+ {
+ name: 'key',
+ value: 'listSpaces',
+ },
+ {
+ name: 'parameters.workspaceId',
+ value: '{parameters.workspaceId}',
+ },
+ ],
+ },
+ },
+ {
+ label: 'Folder Name',
+ key: 'folderName',
+ type: 'string',
+ required: true,
+ description: '',
+ variables: true,
+ },
+ ],
+
+ async run($) {
+ const { spaceId, folderName } = $.step.parameters;
+
+ const body = {
+ name: folderName,
+ };
+
+ const { data } = await $.http.post(`/v2/space/${spaceId}/folder`, body);
+
+ $.setActionItem({
+ raw: data,
+ });
+ },
+});
diff --git a/packages/backend/src/apps/clickup/actions/index.js b/packages/backend/src/apps/clickup/actions/index.js
new file mode 100644
index 00000000..95cba67a
--- /dev/null
+++ b/packages/backend/src/apps/clickup/actions/index.js
@@ -0,0 +1,3 @@
+import createFolder from './create-folder/index.js';
+
+export default [createFolder];
diff --git a/packages/backend/src/apps/clickup/index.js b/packages/backend/src/apps/clickup/index.js
index 9602bd65..c696949d 100644
--- a/packages/backend/src/apps/clickup/index.js
+++ b/packages/backend/src/apps/clickup/index.js
@@ -3,6 +3,7 @@ import addAuthHeader from './common/add-auth-header.js';
import auth from './auth/index.js';
import triggers from './triggers/index.js';
import dynamicData from './dynamic-data/index.js';
+import actions from './actions/index.js';
export default defineApp({
name: 'ClickUp',
@@ -17,4 +18,5 @@ export default defineApp({
auth,
triggers,
dynamicData,
+ actions,
});
diff --git a/packages/docs/pages/.vitepress/config.js b/packages/docs/pages/.vitepress/config.js
index 52e2fe45..bcf23b18 100644
--- a/packages/docs/pages/.vitepress/config.js
+++ b/packages/docs/pages/.vitepress/config.js
@@ -82,6 +82,7 @@ export default defineConfig({
collapsible: true,
collapsed: true,
items: [
+ { text: 'Actions', link: '/apps/clickup/actions' },
{ text: 'Triggers', link: '/apps/clickup/triggers' },
{ text: 'Connection', link: '/apps/clickup/connection' },
],
diff --git a/packages/docs/pages/apps/clickup/actions.md b/packages/docs/pages/apps/clickup/actions.md
new file mode 100644
index 00000000..8ea5db1a
--- /dev/null
+++ b/packages/docs/pages/apps/clickup/actions.md
@@ -0,0 +1,12 @@
+---
+favicon: /favicons/clickup.svg
+items:
+ - name: Create folder
+ desc: Creates a new folder.
+---
+
+
+
+