diff --git a/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte b/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte
index b2773ae455..0c975eab18 100644
--- a/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte
+++ b/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte
@@ -4,6 +4,7 @@
import { Icon, Modal, Tabs, Tab } from "@budibase/bbui"
export let modal
+ export let webhookModal
@@ -12,7 +13,7 @@
diff --git a/packages/builder/src/components/automation/AutomationPanel/CreateAutomationModal.svelte b/packages/builder/src/components/automation/AutomationPanel/CreateAutomationModal.svelte
index dfcfc2ab95..43bb2ff777 100644
--- a/packages/builder/src/components/automation/AutomationPanel/CreateAutomationModal.svelte
+++ b/packages/builder/src/components/automation/AutomationPanel/CreateAutomationModal.svelte
@@ -3,12 +3,14 @@
import { database } from "stores/backend"
import { automationStore } from "builderStore"
import { notifications } from "@budibase/bbui"
- import { Icon, Input, ModalContent } from "@budibase/bbui"
+ import { Input, ModalContent, Layout, Body } from "@budibase/bbui"
import analytics from "analytics"
let name
+ let selectedTrigger
+ let triggerVal
+ export let webhookModal
- $: valid = !!name
$: instanceId = $database._id
async function createAutomation() {
@@ -16,41 +18,84 @@
name,
instanceId,
})
+ const newBlock = await $automationStore.selectedAutomation.constructBlock(
+ "TRIGGER",
+ triggerVal.stepId,
+ triggerVal
+ )
+ automationStore.actions.addBlockToAutomation(newBlock)
+ if (triggerVal.stepId === "WEBHOOK") {
+ webhookModal.show()
+ }
+
notifications.success(`Automation ${name} created.`)
$goto(`./${$automationStore.selectedAutomation.automation._id}`)
analytics.captureEvent("Automation Created", { name })
}
+ $: triggers = Object.entries($automationStore.blockDefinitions.TRIGGER)
+
+ const selectTrigger = trigger => {
+ triggerVal = trigger
+ selectedTrigger = trigger.name
+ }
+ Please name your automation, then select a trigger. Every automation must
+ start with a trigger.
+
-
-
- Learn about automations
-
+
+
+ Triggers
+
+
+ {#each triggers as [idx, trigger]}
+
selectTrigger(trigger)}
+ >
+
+
+
+ {trigger.name}
+
+
+ {/each}
+
+
diff --git a/packages/builder/src/pages/builder/app/[application]/automate/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/automate/_layout.svelte
index bc04548d8f..0d0582a34e 100644
--- a/packages/builder/src/pages/builder/app/[application]/automate/_layout.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/automate/_layout.svelte
@@ -4,14 +4,16 @@
import AutomationPanel from "components/automation/AutomationPanel/AutomationPanel.svelte"
import SetupPanel from "components/automation/SetupPanel/SetupPanel.svelte"
import CreateAutomationModal from "components/automation/AutomationPanel/CreateAutomationModal.svelte"
+ import CreateWebhookModal from "components/automation/shared/CreateWebhookModal.svelte"
$: automation = $automationStore.selectedAutomation?.automation
let modal
+ let webhookModal
{#if automation}
@@ -44,7 +46,10 @@
{/if}
-
+
+
+
+