Triggers

Manual triggers

A manual trigger is the simplest kind. The workflow template never fires on its own. Staff start a workflow run themselves from the mobile app whenever it is needed.

When to use a manual trigger

Manual triggers are for anything that does not fit a fixed schedule. The decision to run sits with the person on the floor, not the calendar.

Good fits include:

  • One-off tasks like deep cleans or stocktakes that happen when needed
  • Ad-hoc audits a manager runs when they spot a problem
  • Incident-led workflows like "spill clean-up" or "complaint received"
  • Onboarding checklists started the day a new starter arrives
  • Anything seasonal or occasional that you do not want clogging the date scroller

If the answer to "when should this run?" is "whenever someone decides", you want a manual trigger.

Set up a manual trigger on the canvas

You configure the trigger from the trigger node at the top of every workflow template.

  1. Open the workflow template on the canvas
  2. Click the trigger node to focus it
  3. Click the kind picker, which is the first dropdown on the trigger node
  4. Pick Trigger manually from the list

That is the whole setup. No date, no time, no recurrence rule. The trigger node collapses to just the kind picker because there is nothing else to configure.

Save the template by clicking Publish in the top bar. The template is now available for staff to fire from the mobile app.

How staff fire a manual trigger from mobile

Staff run a manual template from the mobile menu. They do not need to know the template was set up as manual, they just see it in the list of templates they can start.

The steps are:

  1. Tap the Menu tab on the floating action bar at the bottom of the screen
  2. Tap Run a workflow template in the menu that slides up
  3. Pick the template from the list
  4. Pick which team or teams should run it
  5. Tap the Run for N teams button at the bottom (it reads Run for 1 team when only one team is selected)

A new workflow run is created for each team picked. Staff see the new run in their Work Items tab right away and can start working through it.

If a member of staff has no templates available, they see a message saying "No workflow templates available to run. Templates with a manual or external trigger will appear here." That means no template in your account has been published with a manual trigger yet.

What manual triggers do not do

Manual triggers never appear on the date scroller because there is no schedule to plot. The workflow only exists once a member of staff fires it.

A few other things to keep in mind:

  • A manual template only shows up on mobile for staff in a team that has been assigned to the template
  • Anyone in an assigned team can fire the template, not just managers
  • Each fire creates one workflow run per team picked, so running for three teams creates three runs

Tips

  • Manual is the safest trigger to start with while you are testing a new template, because nothing fires without someone choosing to fire it
  • If you find staff forgetting to run a manual template, switch the trigger to a schedule so it appears on the date scroller automatically
  • Manual templates are great for "as needed" responses, but if you find yourself running the same one every Monday morning, that is a sign it should be a scheduled trigger instead
  • The mobile menu only lists templates a member of staff is allowed to run, so an empty list usually means the template's team assignment needs updating

Scheduled triggers

Scheduled triggers fire a workflow template on a calendar. You can fire it once at a specific moment, or repeat it on a daily, weekly, monthly, or yearly pattern. This page covers both.

The two scheduled trigger kinds

You pick a scheduled trigger from the kind picker on the trigger node. Two of the four options are scheduled:

  • Run just once -- the workflow fires at one specific date and time and never again
  • Run on a schedule -- the workflow fires repeatedly on a pattern you set

Pick "Run just once" for events that happen on a single date, like the launch day of a new product or a one-off training session. Pick "Run on a schedule" for anything routine, like the morning open, the weekly stocktake, or the monthly fire alarm test.

Set up a "Run just once" trigger

The one-off scheduled trigger is the simplest of the two.

  1. Open the workflow template on the canvas
  2. Click the trigger node at the top of the canvas
  3. Click the kind picker and choose Run just once
  4. In the Starts section, pick the start date and start time
  5. In the Ends section, pick the end date and end time
  6. Publish the template

The workflow run is created on that start date and is expected to be finished by the end. It will not fire again.

The field descriptions are:

  • Starts date (date picker, required) -- the date the workflow run is scheduled for
  • Starts time (time picker, required) -- the time of day the workflow run is expected to start
  • Ends date (date picker, required) -- the date by which the run should be finished
  • Ends time (time picker, required) -- the time of day by which the run should be finished

If you set a start date in the past, the run will not appear on the date scroller because that day has already gone. Pick a future date.

Set up a "Run on a schedule" trigger

The recurring trigger fires the workflow over and over on a pattern.

  1. Open the workflow template on the canvas
  2. Click the trigger node
  3. Click the kind picker and choose Run on a schedule
  4. Pick start date and start time, and end date and end time (the same way as the one-off trigger)
  5. A second dropdown appears next to the kind picker, showing the frequency (for example "Daily" or "Weekly"). Click it to open the frequency popup
  6. Configure the frequency, the days, and how the schedule ends
  7. Publish the template

A new workflow run will be created for each occurrence the pattern produces.

The frequency popup

The frequency popup is where you set the repeating pattern. The top of the popup has a Frequency label with four buttons:

  • Daily
  • Weekly
  • Monthly
  • Yearly

The fields shown underneath change depending on which button is picked. The sections below describe each.

Daily

  • Every N day(s) (number input, required) -- pick how many days between each run. Set to 1 for every day, 2 for every other day, 7 for every seventh day, and so on
  • Weekdays only (Mon-Fri) (checkbox, optional) -- when ticked, the run skips Saturdays and Sundays

Weekly

  • Every N week(s) on (number input, required) -- pick how many weeks between each cycle. Set to 1 for every week, 2 for every other week
  • Day buttons (toggle buttons, required) -- pick one or more days from Mon, Tue, Wed, Thu, Fri, Sat, Sun. The workflow fires on each picked day inside each cycle

Monthly

Monthly has two modes, picked with the radio buttons:

  • On day N (number input from 1 to 31) -- fire on a fixed day of the month, like the 1st or the 15th. If the day does not exist in a given month (for example the 31st of February), that month is skipped
  • On the [position] [weekday] (two dropdowns) -- fire on a relative day. The position dropdown has 1st, 2nd, 3rd, 4th, and Last. The weekday dropdown has Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, plus three shortcuts -- Day (any day), Weekday (Mon to Fri), and Weekend Day (Sat or Sun). So you can pick patterns like "the 1st Monday of every month" or "the Last Weekday of every month"

The Every N month(s) input above the radio sets how many months between each cycle.

Yearly

  • Every N year(s) (number input, required) -- pick how many years between each run. Set to 1 for every year. The workflow fires on the same date and time each year, based on the start date

How the schedule ends

Underneath the frequency controls there is an Ends section with three options:

  • Never (radio, default) -- the workflow keeps firing for as long as the template exists
  • After N occurrences (radio with number input) -- the workflow stops after the chosen number of runs have been created
  • On (radio with date picker) -- the workflow stops on the chosen end date. The date picker only allows dates after the start date

The 7-day preview

Below the controls is a Next occurrences preview showing when the next 7 runs will be created. It updates as you change the frequency, the days, the start date, and the end conditions. This is your safety net -- if the preview does not match what you expect, the rule is wrong, not the preview.

The preview only appears for recurring triggers, not for "Run just once" or for manual templates.

Gotchas

A few things catch people out:

  • If your start date is in the past, the frequency button in the popup disables and shows Only future dates can repeat. Pick a future start date to enable repeating
  • When the interval is 1, the popup label drops the number. So a daily schedule with an interval of 1 shows as Daily, not Every 1 day. With an interval of 2 it shows as Every 2 days. Same pattern for weekly and yearly
  • The popup label for a monthly schedule always shows as Monthly, regardless of the interval, because the monthly mode is more about the day pattern than the count
  • The label Weekdays shows up instead of Daily if you tick "Weekdays only (Mon-Fri)"
  • A monthly "On day 31" pattern skips months that do not have a 31st. If you want the workflow to fire on the last day of every month, use "On the Last Day" in weekday mode instead

Tips

  • Always check the Next occurrences preview before publishing. If you scheduled "every Friday" but the preview lists Mondays, your weekday toggles are wrong
  • For most weekly patterns, leave the interval at 1 and just pick the day buttons. Use "Every 2 weeks" only when you really do skip a week
  • Use the relative monthly mode ("1st Monday", "Last Weekday") for things tied to a working pattern, not a date. It avoids the "month skipped because there is no 31st" trap
  • If the schedule should stop on a specific known date, set Ends -- On rather than counting occurrences -- it is much easier to reason about later
  • Start dates can be in the future. Pick a Monday next month to delay rollout while you finish testing the template

External triggers

External triggers let an outside service fire a Pilla workflow. When something happens in a connected app like Slack, Google Calendar, or Notion, Pilla can spin up a workflow run automatically. This page explains how to set one up.

When to use an external trigger

Use an external trigger when the event that should start the workflow happens outside Pilla. Common examples:

  • Someone reacts with a specific emoji to a message in Slack, like a flag in #ops, and you want a "follow up on this" workflow to fire
  • A new file lands in a Google Drive folder and you want a "review and file" workflow created
  • A Google Calendar event starts and you want a setup checklist to appear on mobile for the team running the event
  • A new deal moves stage in HubSpot and you want a handover workflow created

External triggers are a Pro and Enterprise feature. On lower plans, the Run from external trigger option in the kind picker is disabled and shows an Upgrade to Pro hint.

What you need first

Before you set up an external trigger you need an active integration connection for the service. If Slack is not connected to your Pilla account, you cannot fire a workflow from Slack. Connect the service on the Integrations page first.

You also need to be on the Pro or Enterprise plan. If you are on Free or Standard, contact us about upgrading.

Set up an external trigger

The external trigger is set up from the trigger node at the top of the canvas, the same as the other kinds.

  1. Open the workflow template on the canvas
  2. Click the trigger node
  3. Click the kind picker and choose Run from external trigger. If this option is greyed out, your plan does not include external triggers
  4. Click the Pick a service button and choose the service that should fire the workflow. Only services that have working external triggers in Pilla appear in the list
  5. Type a plain-English description in the prompt box that opens once a service is picked. It has no label of its own and shows the placeholder "Describe when this should fire (e.g. when someone reacts 🚨 in #ops)". Describe what should fire the workflow, for example "Fire when a user reacts with the :white_check_mark: emoji to a message in #sales"
  6. Wait about a second and a half after you stop typing. Poppi reads your description and works out the exact trigger
  7. Check the preview that appears below the box -- it should match what you wrote
  8. Publish the template

After publishing, Pilla registers the trigger with the outside service. The next time the event happens, a new workflow run is created automatically.

The fields on the external trigger

The external trigger node has a service button, a prompt box, and a read-only preview. The fields are:

  • Pick a service (button, required) -- opens a list of the outside services that can fire a workflow. Only services with active external triggers in Pilla appear here. The button shows the chosen service name once you pick one
  • Prompt box (textarea, required) -- the unlabelled box that appears once a service is picked. Type a plain-English description of what should fire the workflow. Poppi reads this and works out the exact trigger. It shows the placeholder "Describe when this should fire (e.g. when someone reacts 🚨 in #ops)" until you type
  • Preview (read-only) -- shows what Poppi understood from your description. Read this to check it matches what you meant

What the preview tells you

After you stop typing, Poppi reads your description and works out the exact trigger. The preview box below the prompt shows the result.

You will see one of five states under the prompt box:

  • A spinner with Compiling… -- Poppi is still working on your description
  • A green tick with the trigger name and any filters, like New message in channel with channel = #sales -- Poppi understood your description clearly. The trigger is ready to save
  • An amber sparkle with Couldn't pin down the trigger — try rephrasing? -- Poppi was not confident enough to save the trigger. Reword your description to be more specific (name the channel, the emoji, the exact event)
  • An amber sparkle with Awaiting compile… -- the box is waiting before it works out the trigger. This clears on its own once Poppi runs
  • A red alert -- something went wrong. The error text explains what

If the tick is green, your trigger is set. If you see an amber sparkle or a red alert, fix the description and wait for Poppi to run again.

Which services support external triggers

Seventeen services can fire an external trigger: Slack, Google Calendar, Google Drive, Google Sheets, Google Docs, Gmail, Outlook, OneDrive, Notion, Airtable, Asana, Trello, Stripe, HubSpot, Mailchimp, Zoom, and WhatsApp.

These are the only services that appear when you tap Pick a service. A service that is not connected to your Pilla account shows in the list as Not connected and cannot be picked until you connect it on the Integrations page. Services that do not have a trigger (such as Shopify) do not appear at all.

Disconnected services

If you used to have a service connected and you set up an external trigger from it, then later disconnected the service, the trigger node will show a red "orphaned" border. The template still exists but it will not fire because there is no connection to listen on.

To fix it:

  1. Open the Integrations page from the sidebar
  2. Reconnect the service
  3. Open the workflow template on the canvas
  4. The orphaned border clears and the trigger fires again

If you intend to keep the service disconnected, change the trigger kind to manual or scheduled instead.

Tips

  • Start by writing your description the way you would explain it to a teammate. Poppi is reading it like a person, not parsing keywords -- "fire when a new file is added to the contracts folder" is fine
  • Be specific about the channel, emoji, or detail you mean. "Fire on a Slack reaction" is vague; "Fire when a user reacts with :rotating_light: in #ops" is clear
  • If the green tick keeps refusing to appear, look at the amber hint in the preview -- it usually tells you which detail Poppi could not pin down
  • External triggers run under the connecting user's identity. Posts back to Slack, calendar events, and anything else the workflow does in the outside service appear as the person who connected the integration, not as a Pilla bot
  • One workflow template can have only one external trigger. If you need the same workflow to fire from both Slack and Google Calendar, build two templates with the same body