Skip to Content
FeaturesProcess Automations

Process Automations

Automations are event-driven workflows that fire instantly when something happens. Unlike sequences — which run over days and are designed for outreach cadences — automations handle operational tasks in real time: syncing data, notifying your team, updating records, and calling external APIs.

When to Use Automations

Use automations when you need to react to an event immediately and perform one or more actions in response. Common examples:

  • A form submission comes in via webhook — create a contact and notify the assigned rep on Slack
  • A deal closes — update the CRM record, send a welcome email, and create an onboarding task
  • Every Monday morning — pull a report and post a summary to your team’s Slack channel
  • An external system sends data — transform it and push it into ScendCore’s CRM

If your workflow involves outreach to contacts over days with delays and personalization, use a sequence instead. If it involves instant, behind-the-scenes processing, use an automation.

Automation Triggers

Every automation starts with a trigger — the event that kicks off the workflow. ScendCore supports three trigger types.

Webhook Trigger

A webhook trigger fires when an external system sends an HTTP request to your automation’s unique webhook URL. This is the most flexible trigger type and works with any system that can send HTTP requests.

Getting Your Webhook URL

  1. Create a new automation and select Webhook as the trigger type
  2. ScendCore generates a unique URL for this automation (e.g., https://app.scendcore.com/api/automations/webhook/abc123)
  3. Copy this URL and configure it in the external system that will send events

Sending Test Payloads

Before connecting a real system, you can test your webhook:

  1. Click Send Test in the trigger configuration panel
  2. ScendCore sends a sample payload and runs the automation so you can verify the flow
  3. Alternatively, use a tool like webhook.site  to inspect payloads before routing them to ScendCore

Security: Secret Tokens

Each webhook trigger includes an optional secret token. When configured, ScendCore verifies that incoming requests include the correct token in the X-Webhook-Secret header. Requests without a valid token are rejected.

To enable:

  1. In the trigger configuration, toggle Require Secret
  2. Copy the generated secret token
  3. Configure the sending system to include X-Webhook-Secret: <your-token> in the request headers

Schedule Trigger

A schedule trigger fires on a recurring time-based schedule. Use it for periodic tasks like daily reports, weekly cleanups, or monthly summaries.

Schedule Options

ScheduleDescriptionExample
DailyRuns once per day at a specified timeEvery day at 9:00 AM
WeeklyRuns once per week on a specified day and timeEvery Monday at 8:00 AM
MonthlyRuns once per month on a specified date and time1st of every month at 10:00 AM
Custom (Cron)Full cron expression for advanced schedules0 */4 * * * (every 4 hours)

Timezone Handling

All schedule times use the timezone configured in your Settings > Organization page. If your team spans multiple timezones, set the organization timezone to the one that makes the most sense for your scheduled tasks (usually your headquarters).

The schedule trigger shows the next three upcoming run times so you can verify it will fire when you expect.


CRM Event Trigger

A CRM event trigger fires when something changes in your ScendCore CRM data. This lets automations react to internal events without any external integration.

Available Events

EventFires When
contact_createdA new contact is added (via UI, import, or API)
contact_updatedA contact’s fields are modified
opportunity_createdA new opportunity is created
opportunity_stage_changedAn opportunity moves to a different pipeline stage
deal_closed_wonAn opportunity is marked as closed-won
deal_closed_lostAn opportunity is marked as closed-lost
task_completedA task is marked as done
engagement_createdA new engagement is logged

Filtering by Field Values

You can add filters to CRM event triggers so the automation only fires when specific conditions are met. For example:

  • contact_created where source equals "website form" — only react to web leads
  • opportunity_stage_changed where stage equals "Negotiation" — only fire when deals reach the negotiation stage
  • contact_updated where lead_score greater than 80 — react when contacts become highly scored

Multiple filters are combined with AND logic — all conditions must be true for the automation to fire.

Automation Action Nodes

After the trigger fires, the automation executes a series of action nodes in order. Here are the available action types.

HTTP Request

Sends an HTTP request to any external URL. Use this to integrate with third-party APIs, send data to other systems, or trigger external workflows.

Configuration:

FieldDescription
MethodGET, POST, PUT, PATCH, or DELETE
URLThe endpoint to call
HeadersKey-value pairs for request headers (e.g., Authorization: Bearer token123)
BodyJSON body for POST/PUT/PATCH requests

Template Variables

You can use template variables in the URL, headers, and body to inject data from the trigger or previous nodes:

{ "name": "{{trigger.data.name}}", "email": "{{trigger.data.email}}", "source": "scendcore_automation" }

Variables use the {{path.to.field}} syntax and are replaced with actual values at runtime.

Response Data Flow

The HTTP response body is captured and made available to subsequent nodes as {{http_request.response.field}}. This lets you chain API calls — for example, create a record in an external system and use the returned ID in the next step.


Slack Message

Sends a message to a Slack channel. Useful for notifying your team about important events, sharing summaries, or alerting people to items that need attention.

Configuration:

FieldDescription
ChannelThe Slack channel to post to (selected from a dropdown of your connected channels)
MessageThe message content. Supports Slack markdown formatting and template variables.

Prerequisites: Your Slack workspace must be connected. See the Slack integration setup guide in Settings > Integrations.

Message Templates with Variables

Slack messages support the same {{variable}} syntax as other nodes. For example:

New lead from website: *Name:* {{trigger.data.name}} *Email:* {{trigger.data.email}} *Company:* {{trigger.data.company}}

CRM Update

Updates an existing record in your ScendCore CRM. Use this to automatically tag contacts, change opportunity stages, update custom fields, or modify any record based on incoming data.

Configuration:

FieldDescription
Entity typecontact, opportunity, or account
Record identifierHow to find the record — by ID, email, or a field match
Field mappingsWhich fields to update and what values to set

Field Mappings

Each field mapping has a target field (the CRM field to update) and a value (either a static value or a template variable). For example:

Target FieldValue
lead_source"webinar"
lead_score{{trigger.data.score}}
assigned_rep_id{{trigger.data.rep_id}}

Create Record

Creates a new record in your ScendCore CRM. Use this to automatically add contacts, opportunities, tasks, or engagements based on incoming data.

Configuration:

FieldDescription
Entity typecontact, opportunity, task, or engagement
Field mappingsWhich fields to set on the new record

Supported Entity Types and Required Fields

EntityRequired Fields
Contactemail or phone (at least one)
Opportunityname, pipeline_id
Tasktitle, assigned_to
Engagementcontact_id, type

All other fields are optional and can be populated using static values or template variables.


Data Transform

Processes and transforms data between nodes. Use this when the data from a trigger or API response needs to be reshaped before passing it to the next action.

Operations:

OperationDescriptionExample
MapTransform each item in an arrayExtract just the email field from a list of objects
FilterKeep only items matching a conditionOnly contacts with status = active
ExtractPull a nested field to the top levelGet response.data.results as the output

Configuration:

  • Input — The data to transform (usually {{trigger.data}} or a previous node’s output)
  • Operation — Map, filter, or extract
  • Expression — The transformation rule

The output of a Data Transform node is available to subsequent nodes as {{data_transform.output}}.

Building Your First Automation

Here is a walk-through for a common scenario: When a form is submitted, create a contact and notify the team.

Step 1: Create the Automation

  1. Go to Automations in the left sidebar
  2. Click + Create Automation
  3. Name it “Website Form to Contact + Slack Notification”
  4. Click Create

Step 2: Configure the Webhook Trigger

  1. The trigger is already selected as Webhook by default
  2. Copy the webhook URL — you will paste this into your form tool (Typeform, HubSpot Forms, etc.)
  3. Optionally enable the secret token for security

Step 3: Add a Create Record Node

  1. Click + Add Action below the trigger
  2. Select Create Record
  3. Set entity type to Contact
  4. Map the form fields to CRM fields:
Target FieldValue
first_name{{trigger.data.first_name}}
last_name{{trigger.data.last_name}}
email{{trigger.data.email}}
company{{trigger.data.company}}
lead_source"website_form"

Step 4: Add a Slack Message Node

  1. Click + Add Action below the Create Record node
  2. Select Slack Message
  3. Choose your sales team channel
  4. Write the message:
New website lead: *{{trigger.data.first_name}} {{trigger.data.last_name}}* Company: {{trigger.data.company}} Email: {{trigger.data.email}}

Step 5: Activate and Test

  1. Click Activate to turn the automation on
  2. Click Send Test on the trigger to run the automation with sample data
  3. Check that a test contact was created and the Slack message was posted
  4. Connect your form tool to the webhook URL

Automation Templates

ScendCore includes pre-built automation templates to get you started quickly.

TemplateTriggerActionsUse Case
Form Submission HandlerWebhookCreate Contact, Notify SlackCapture web leads
Deal Closed NotificationCRM EventSlack Message, Create TaskCelebrate wins, kick off onboarding
Daily Pipeline SummarySchedule (Daily)HTTP Request, Slack MessageMorning pipeline digest
Lead Scoring UpdateCRM EventCRM UpdateAuto-tag high-value contacts
External CRM SyncWebhookData Transform, HTTP RequestPush data to external systems

To use a template:

  1. Go to Automations and click + Create Automation
  2. Click Start from Template instead of creating a blank automation
  3. Select a template and click Use Template
  4. Customize the configuration for your specific needs (channels, field mappings, URLs)
  5. Activate when ready

Monitoring Automation Runs

Run History

Every time an automation fires, ScendCore logs the run. Go to the automation detail page and click the Runs tab to see:

ColumnDescription
Run IDUnique identifier for this run
StartedWhen the trigger fired
DurationHow long the entire run took
StatusSuccess, failed, or partial
Trigger dataThe data that triggered the run (click to expand)

Node Execution Logs

Click any run to see the execution log for each node:

  • Status — Whether the node succeeded or failed
  • Input — The data the node received
  • Output — The data the node produced (API responses, created record IDs, etc.)
  • Duration — How long the node took to execute
  • Error (if failed) — The error message and details

Debugging Failed Runs

When a run fails, the execution log pinpoints which node failed and why. Common issues:

ProblemCauseFix
HTTP Request node returns 401API key expired or invalidUpdate the API key in the node configuration
Create Record fails with validation errorRequired field missingCheck field mappings and ensure all required fields have values
Slack Message failsSlack integration disconnectedReconnect Slack in Settings > Integrations
Template variable renders as emptyWrong variable pathCheck the trigger data to verify the field name matches your variable

You can re-run a failed automation from the run detail page. ScendCore will re-execute from the failed node using the original trigger data.

Data Flow Between Nodes

Understanding how data passes between nodes is key to building effective automations.

How It Works

Each node in an automation produces output data that subsequent nodes can reference. The data flows forward through the automation like a pipeline:

  1. Trigger fires and produces trigger.data (the webhook payload, schedule metadata, or CRM event data)
  2. Node 1 executes using trigger.data and produces its own output
  3. Node 2 can reference both trigger.data and Node 1’s output
  4. And so on

Template Variable Syntax

Variables use double curly braces: {{source.field.subfield}}

Available Variables by Source

SourceSyntaxDescription
Trigger data{{trigger.data.field_name}}Fields from the trigger payload
Trigger metadata{{trigger.timestamp}}When the trigger fired
HTTP Request output{{http_request.response.field}}Response body fields from an HTTP Request node
Create Record output{{create_record.id}}The ID of the newly created record
Data Transform output{{data_transform.output}}The transformed data

Nested Fields

For nested data, use dot notation: {{trigger.data.address.city}}

Array Access

For arrays, use bracket notation: {{trigger.data.items[0].name}}

Best Practices

Keep Automations Focused

Each automation should do one job well. Instead of building a single automation that handles form submissions, sends Slack messages, syncs to Salesforce, and creates tasks, split that into multiple automations. This makes each one easier to understand, test, and debug.

Use Conditions to Handle Edge Cases

Not every trigger payload will have all the data you expect. Use Condition nodes (or field filters on the trigger) to handle missing data gracefully. For example, only create a contact if the email field is present.

Test Before Connecting Real Systems

When building an automation with HTTP Request nodes that call external APIs:

  1. First, point the URL at httpbin.org  or webhook.site  to verify the request format
  2. Check the response data structure in the run logs
  3. Then switch to the real API URL once you are confident the payload is correct

This avoids creating junk data in production systems during development.

Monitor the First Few Runs

After activating a new automation, watch the first 5-10 runs closely in the run history. Verify that:

  • The trigger data matches what you expected
  • Each node succeeds
  • The output data is correct
  • External systems receive the right data

Once the automation is running reliably, you can check in less frequently.

Use Descriptive Names

Name your automations based on what they do, not how they work. “New Lead to Slack + CRM” is better than “Webhook Automation 1.” Future you (and your teammates) will thank you when you have 20 automations and need to find the right one.

Last updated on