☰ Menu

Automations – Triggers

Last update: April 15, 2026


Automations are one of the most powerful features in servis.ai. They let you take action automatically – sending emails, updating records, creating tasks, notifying teammates, running custom code, and much more.
Every automation starts with two decisions: 
  1. When should it run? > This is the Trigger.
  2. Which records should it act on? > These are the Conditions.
This guide walks you through every Trigger available, explains them, and helps you solve the most common problems.

What is a Trigger?

A Trigger is the event that kicks off an automation. Think of it as the “when” in a sentence:
When a new Deal is created, send an email to the owner.”
Servis.ai offers seven trigger types, each designed for a different situation.
Trigger
Description
On App Action
Someone clicks a button.
After Create
A new record is saved.
After Create / Update
A record is saved for the first time or changed.
After Update
An existing record’s field(s) change value.
On Webhook
An external system sends data in.
Schedule Cron
A recurring clock-based schedule fires.
Schedule Field
A date/time field on a record reaches its value.
You select one trigger per automation. It’s the first choice you make when building a new automation.

What are Conditions?

Conditions (also called Launch Conditions or Filters) are the rules that narrow down which records should actually cause the automation to run.
A trigger fires for every qualifying event. But conditions let you say:
“Only proceed if the Deal’s Stage is ‘Closed Won’ AND the Amount is greater than $10,000.”
Without conditions, every trigger event runs all actions. With conditions, you gain precise control over when actions execute.
Conditions use a row-by-row format:
Logical
Field
Operator
Value
AND
Stage
Is
Closed Won
AND
Amount
>=
10,000
Each row checks one thing. Rows are joined by AND (all must be true) or OR (any one is enough).

Understanding Every Trigger

On App Action

The On App Action trigger runs when a user manually clicks a button on a record. It is the only trigger that requires a user to deliberately start the automation.
When you configure this trigger, servis.ai adds an App Action Button to the record details view. Clicking it launches the automation immediately.

When to Use It

  • Add a “Send Proposal” button on a Deal that generates and emails a PDF document.
  • Add an “Escalate” button on a Support Ticket that notifies a manager and changes the priority.
  • Add a “Sync to ERP” button that pushes record data to an external accounting system.
  • Add a “Generate Invoice” button that creates a related record with calculated values.

How to Set It Up

  1. Create a new automation and select On App Action as the trigger.
  2. Choose the App (e.g., Deals, Tickets) where the button will appear.
  3. Add the Automation Actions you want the button to perform (send email, update field, create record, run custom code, etc.)
  4. Save and activate the automation.
  5. The button will now appear on records in that App.

Key Details

  • Manual control: This is the only trigger where a person decides exactly when the automation runs.
  • Record context: Only users who have permission to see and interact with the record can click the button.
  • No conditions required: Because a user makes the decision, no Launch Conditions are needed.

Common Problem: Button Not Appearing

Symptom
Solution
Button doesn’t show on records
Make sure the automation is active (not deactivated).
Button appears but nothing happens
Check the Automation Runs log for errors in the actions.
Only some users see the button
Verify that user roles have access to the App and that the automation is visible.

After Create

The After Create trigger fires automatically every time a new record is saved in the selected App. It runs after the record has been successfully created, which means all field values are available to your automation.

When to Use It

  • Auto-assign new leads via Round Robin distribution.
  • Send a welcome email when a new Contact is added.
  • Create a follow-up Task the moment a Deal is created.
  • Log an activity or run custom validation on every new record.
  • Send a Slack notification to the team about new records.

How to Set It Up

  1. Create a new automation and select After Create as the trigger.
  2. Choose the App (e.g., Contacts, Deals, Tasks).
  3. Optionally add Launch Conditions to filter which new records trigger the automation. 
  4. Add your Automation Actions (update field, send email, create record, etc.)
  5. Save and activate.

Key Details

  • All creations methods count: The automation fires regardless of how the record was created – through the web form, inline creation, mobile app, API, bulk import or another automation. 
  • After the fact: The record is already saved before the automation runs, so you can read any field value.
  • No field selection needed: Unlike update triggers, you don’t choose which fields to watch – the trigger fires for every new record (subject to your conditions).
  • Failed creations don’t trigger: If a record creation fails due to a validation error, the automation does not run.

Common Problem: Automation Runs Twice on the Same Record

Symptom
Cause
Solution
Duplicate emails or tasks from one creation
Another automation or App Action may also be creating records that trigger this automation.
Check for chained automations — an automation creating a record in the same App can trigger this one again. Use conditions to distinguish records.

After Update

The After Update trigger fires only when specific field(s) on an existing record actually change value. This is the most precise record-change trigger because it lets you watch exactly which fields matter.

When to Use It

  • Notify a manager when a Deal’s Stage changes to “Closed Won”.
  • Update related records when a Contact’s Status changes from “Lead” to “Qualified.”
  • Trigger document generation when an Invoice is marked as “Approved.”
  • Reassign a Task when its Priority field changes to “Critical.”
  • Log an activity when a key field is modified.

How to Set It Up

  1. Create a new automation and select After Update as the trigger.
  2. Choose the App.
  3. Select one or more Trigger Fields – the fields the automation should watch for changes. This is required.
  4. Optionally add Launch Conditions (e.g., “only proceed if the new value is ‘Closed Won'”).
  5. Add your Automation Actions.
  6. Save and activate.

Key Details

  • Field selection is required: You must select at least one field to watch. Without it, the automation cannot be saved.
  • Actual change direction: The system compares the old and new values. If a field is submitted but its value hasn’t actually changed, the automation will not fire.
  • All update methods count: Inline edits, full-form saves, API calls, and bulk updates all trigger this automation equally.
  • No “Updated At” field: The system prevents you from using the “Updated At” field as a trigger because it changes on every save.
  • Bulk edits are supported: When a bulk edit changes multiple records, the system evaluates each record individually against the conditions.

Common Problem: Automation Fires Unexpectedly

Symptom
Cause
Solution
Automation runs when you didn’t expect it
Another automation may be updating the watched field, causing a chain reaction.
Check for automation chains. If Automation A updates Field X, and Automation B watches Field X, then B will fire.
Automation doesn’t detect the change
The field value didn’t actually change — it was submitted with the same value.
The system detects real changes only. If you save a record without modifying the watched field, the automation will not fire.

After Create/Update

The After Create/Update trigger combines both “After Create” into a single automation. It fires when:
  • A new record is created, or
  • An existing record has specific field(s) that change value.
This is ideal when you want the same actions to run regardless of whether the record is new or being updated.

When to Use It

  • Recalculate a score whenever a Contact is created or when key fields (Industry, Revenue, Employees) change.
  • Sync data to an external system on both creation and modification.
  • Update a “Last Calculated” timestamp whenever the record changes in any important way.
  • Send a notification when a record is created or its status changes.

How to Set It Up

  1. Create a new automation and select After Create/Update as the trigger.
  2. Choose the App.
  3. Select the Trigger Field(s) for the update portion – you must specify which fields to watch for changes on existing records.
  4. Optionally add Launch Conditions.
  5. Add your App Actions.
  6. Save and activate.

Key Details

  • Trigger Fields are required for updates: When an existing records is updated, the automation only fires if at least one of your selected trigger fields actually changes value. For new record, all field values are available regardless.
  • Same actions, both paths: You maintain one set of actions instead of duplicating them across two separate automations.
  • “Updated At” cannot be a trigger field: The system prevents you from selecting the “Updated At” field as a trigger – it  changes on every save and would cause the automation to fire constantly.

Common Problem: Automation Doesn’t Fire on Update

Symptom
Cause
Solution
Automation fires on create but not on update
You may not have selected the correct trigger fields.
Ensure the field you’re changing is listed in the Trigger Fields. If you change a field that isn’t watched, the automation won’t fire.
Automation fires on every edit, even unrelated changes
You may have selected too many trigger fields.
Narrow down to only the fiel

On Webhook

The On Webhook trigger fires when an external system sends an HTTP request to a unique servis.ai webhook URL. This allows you to start automation from outside the platform – any service that can make an HTTP request can trigger your automation.

When to Use It

  • Receive form submissions from Typeform, JotForm, Google Forms, or custom web forms.
  • Process payment notifications from Stripe, PayPal, or other payment processors.
  • Sync data when an event happens in another CRM, ERP, or SaaS tool.
  • Integrate with communication platforms – process incoming RingCentral calls, faxes or SMS messages.
  • Connect to IoT devices or custom applications that can send HTTP requests.

How to Set It Up

  1. Create a new automation and select On Webhook as the trigger.
  2. Choose the App where incoming data will be processed.
  3. Servis.ai generates a unique webhook URL for this automation.
  4. Configure your external system to send HTTP requests (typically POST) to that URL. 
  5. Add a Custom Code Automation Action to parse the incoming webhook payload and create/update records.
  6. Save and activate.

Key Details

  • Unique URL: Each webhook automation gets its own dedicated endpoint URL.
  • Full request access: The webhook context includes the request body, query parameters, and headers – available to Custom Code actions.
  • Typically paired with Custom Code: Webhook payloads come in many formats (JSON, XML, form-encoded). A Custom Code action parses the payload and maps it to your App fields.
  • Active = Receiving: The webhook URL accepts requests only while the automation is active. Deactivating the automation stops incoming webhooks from being processed.

Common Problem: Webhook Not Receiving Data

Symptom
Cause
Solution
External system reports 404 or no response
The automation is deactivated or deleted.
Re-activate the automation and verify the URL is correct.
Data arrives but nothing happens
The Custom Code action may have errors parsing the payload.
Check the Automation Runs log for error details. Test with a simple payload first.
Webhook fires but creates duplicate records
The external system is sending multiple requests.
Add logic in Custom Code to check for existing records before creating new ones.

Schedule Cron

The Schedule Cron trigger runs the automation on a recurring timetable defined by a cron expression. Instead of reacting to record changes, this trigger fires at scheduled times – like a clock – and then processes all records in the selected App that match your Launch Conditions.

When to Use It

  • Send a weekly digest email every Monday at 9:00 AM.
  • Check for overdue Tasks every day and escalate them automatically.
  • Run a nightly data cleanup – remove stale records, update calculated fields. 
  • Sync data with an external system on a regular schedule.
  • Generate recurring reports and send them to stakeholders.
  • Auto-close Tickets that have been in “Resolved” status for more than 7 days.

How to Set It up

  1. Create a new automation and select Schedule Cron as the trigger.
  2. Choose the App whose records will be processed.
  3. Enter a cron expression to define the schedule (see examples below).
  4. Optionally enable Use Long Queue for large batch jobs (up to 6 hours timeout).
  5. Add Launch Conditions to narrow which records are processed.
  6. Add your Automation Actions.
  7. Save and activate.

Cron Expression Examples

A cron expression has five fields separated by spaces:
┌───────────── minute        (0-59)
│ ┌───────────── hour          (0-23)
│ │ ┌───────────── day of month  (1-31)
│ │ │ ┌───────────── month         (1-12)
│ │ │ │ ┌───────────── day of week   (0-6, 0 = Sunday)
│ │ │ │ │
* * * * *
Schedule
Cron Expression
Every 20 minutes
*/20 * * * *
Every hour, on the hour
0 * * * *
Every day at 9:00 AM (UTC)
0 9 * * *
Every Monday at 8:00 AM (UTC)
0 8 * * 1
First day of every month at midnight
0 0 1 * *
Weekdays (Mon–Fri) at 7:00 AM (UTC)
0 7 * * 1-5

Key Details

  • Minimum Interval: 20 minutes – the system validates that consecutive firings are at least 20 minutes apart. If your expression fires more frequently, you will receive an error when saving.
  • Timezone-aware: The schedule respects the timezone configured in your account.
  • Launch Conditions are critical: Without conditions, the automation processes every record in the App. Always add filters to narrow the scope.
  • Long Queue Option: For automations that process thousand of records, enable “Use Long Queue” to extend the maximum execution time to 6 hours (standard jobs have a shorter timeout).
  • Auto-managed scheduling: When you activate, deactivate, delete, or change the cron expression, the system automatically creates, cancels, or updates the scheduled job – no manual intervention needed.
  • Runs as a system user: Cron automations execute under a bot/system account, not a specific human user.

Common Problem: Cron Automation Not Running

Symptom
Cause
Solution
Automation never runs
The automation is deactivated.
Activate it.
Runs but processes no records
Launch Conditions are too strict or no records match.
Verify your conditions by creating a saved view with the same filters.
Error when saving: “at least 20 minutes”
The cron expression fires too frequently.
Change the interval to at least 20 minutes between runs.
Processing is slow or times out
Too many records are being processed.
Narrow your Launch Conditions. Enable “Use Long Queue” for large batches.

Schedule Field

The Schedule Field trigger creates a one-time scheduled job that fires when a specific date or date/time field on a record reaches its value. Think of it as. “When this date arrives, do something.”
Unlike Schedule Cron (which runs on a clock regardless of records), Schedule Field is tied to individual records and their date data.

When to Use It

  • Send a reminder email 2 days before a Deal’s Close Date.
  • Automatically change a Task’s status when its Due Date arrives.
  • Trigger a follow-up sequence when a Contract’s Renewal Date is reached.
  • Send a birthday greeting on a Contact’s birthday.
  • Archive records when their Expiration Date passes.

How to Set It Up

  1. Create a new automation and select Schedule Field as the trigger.
  2. Choose the App.
  3. Select the Date/Time Field to watch – this is the field whose value determines when the automation fires.
  4. Optionally add Launch Conditions (e.g., only schedule for records where Status is “Active”).
  5. Add your Automation Actions.
  6. Save and activate.

Key Details

  • One time execution: For each record, the automation fires once when the date/time is reached. It does not repeat.
  • Automatic scheduling: When a record is saved with a date in the future, a scheduled task is automatically created. When the date arrives, the automation runs.
  • Automatic adjustment: If the date field on a record is updated, the schedule is automatically cancelled and re-created for the new date.
  • Automatic cleanup: If the record is deleted or the automation is deactivated, the scheduled task is cancelled automatically.
  • Per-record scheduling: Each record gets its own scheduled job. If you have 100 Deals with Close Dates, the system manages 100 independent schedules.
  • Launch Conditions apply at schedule time: Conditions are evaluated when the record is saved, determining whether a scheduled job should be created. If a record doesn’t match the conditions, no job is scheduled for it.
  • Deleted records cancel the schedule: When a record matching a Schedule Field automation is deleted, the associated scheduled job is also canceled.

Common Problem: Schedule Field Not Firing

Symptom
Cause
Solution
Automation never fires for a record
The date field may be empty or set to a past date.
Ensure the field has a future date value. Past dates are typically processed immediately or skipped.
Automation fires but does nothing
The record may no longer match Launch Conditions by the time the date arrives.
Remember: conditions are checked when the record is saved. If the record changes between scheduling and firing, behavior may vary.
Schedule not created on new records
The automation may be deactivated, or the record doesn’t match Launch Conditions.
Verify the automation is active and test with a record that meets all conditions.
Old schedule still firing after date change
The schedule should auto-adjust, but in rare cases it may not.
Try saving the record again. If the issue persists, deactivate and reactivate the automation.

Trigger Quick-Reference Table

Trigger
Requires Field Selection?
Runs Automatically?
Runs on a Schedule?
External Trigger?
On App Action
No
No (manual click)
No
No
After Create
No
Yes (on new record)
No
No
After Create / Update
Yes (for update side)
Yes
No
No
After Update
Yes
Yes (on field change)
No
No
On Webhook
No
No (external request)
No
Yes
Schedule Cron
No
Yes (on schedule)
Yes (recurring)
No
Schedule Field
Yes (date/time field)
Yes (on date arrival)
Yes (per-record)
No
Picture of Manuel Saucedo
Manuel Saucedo

Technical Writer

🙄

😐

😊

😍

0

In this article:

Select a meeting date

Powered by servis.ai

Welcome to servis.ai Free Edition

Link your email to begin

Continue with Google

Continue with Microsoft

By continuing, you agree to servis.ai Terms of Use. Read our Privacy Policy.

Get Started with servis.ai

30-minute demo where you see servis.ai in action.

Unlock the essential servis.ai features at no cost.

servis-logo

How can I be of servis?

How can I be of servis?