diff --git a/packages/web/src/components/FlowStep/index.jsx b/packages/web/src/components/FlowStep/index.jsx
index 13704e75..1d78f73a 100644
--- a/packages/web/src/components/FlowStep/index.jsx
+++ b/packages/web/src/components/FlowStep/index.jsx
@@ -38,6 +38,8 @@ import isEmpty from 'helpers/isEmpty';
import { StepPropType } from 'propTypes/propTypes';
import useTriggers from 'hooks/useTriggers';
import useActions from 'hooks/useActions';
+import useTriggerSubsteps from 'hooks/useTriggerSubsteps';
+import useActionSubsteps from 'hooks/useActionsSubsteps';
const validIcon = ;
const errorIcon = ;
@@ -153,7 +155,24 @@ function FlowStep(props) {
({ key }) => key === step.key,
);
- const substeps = actionOrTrigger?.substeps || [];
+ const { data: triggerSubsteps } = useTriggerSubsteps(
+ app?.key,
+ actionOrTrigger?.key,
+ );
+
+ const triggerSubstepsData = triggerSubsteps?.data || [];
+
+ const { data: actionSubsteps } = useActionSubsteps(
+ app?.key,
+ actionOrTrigger?.key,
+ );
+
+ const actionSubstepsData = actionSubsteps?.data || [];
+
+ const substeps =
+ triggerSubstepsData.length > 0
+ ? triggerSubstepsData
+ : actionSubstepsData || [];
const handleChange = React.useCallback(({ step }) => {
onChange(step);
diff --git a/packages/web/src/hooks/useActionsSubsteps.js b/packages/web/src/hooks/useActionsSubsteps.js
new file mode 100644
index 00000000..bcc527b3
--- /dev/null
+++ b/packages/web/src/hooks/useActionsSubsteps.js
@@ -0,0 +1,22 @@
+import { useQuery } from '@tanstack/react-query';
+
+import api from 'helpers/api';
+
+export default function useActionSubsteps(appKey, actionKey) {
+ const query = useQuery({
+ queryKey: ['actionSubsteps', appKey, actionKey],
+ queryFn: async ({ payload, signal }) => {
+ const { data } = await api.get(
+ `/v1/apps/${appKey}/actions/${actionKey}/substeps`,
+ {
+ signal,
+ },
+ );
+
+ return data;
+ },
+ enabled: !!appKey,
+ });
+
+ return query;
+}
diff --git a/packages/web/src/hooks/useTriggerSubsteps.js b/packages/web/src/hooks/useTriggerSubsteps.js
new file mode 100644
index 00000000..d697ba5e
--- /dev/null
+++ b/packages/web/src/hooks/useTriggerSubsteps.js
@@ -0,0 +1,22 @@
+import { useQuery } from '@tanstack/react-query';
+
+import api from 'helpers/api';
+
+export default function useTriggerSubsteps(appKey, triggerKey) {
+ const query = useQuery({
+ queryKey: ['triggerSubsteps', appKey, triggerKey],
+ queryFn: async ({ payload, signal }) => {
+ const { data } = await api.get(
+ `/v1/apps/${appKey}/triggers/${triggerKey}/substeps`,
+ {
+ signal,
+ },
+ );
+
+ return data;
+ },
+ enabled: !!appKey,
+ });
+
+ return query;
+}