Overview

Automation Studio is SFMC's workflow automation engine. Unlike Journey Builder (which automates subscriber experiences), Automation Studio automates backend data operations — things like running SQL queries, importing files, exporting data, and triggering batch sends on a schedule.

Automation Studio vs Journey Builder

Automation StudioJourney Builder
PurposeBackend data tasks and scheduled operationsSubscriber communication journeys
TriggerSchedule, file arrival, or manual runEntry source (DE, API event, Salesforce)
Works onDEs, files, SQL queries, sendsIndividual contacts
Personalised per subscriber?No — batch operationsYes — per-contact processing
Best used forData prep, ETL, scheduled reports, nightly refreshesWelcome series, re-engagement, transactional
💡 They work together

A common pattern: Automation Studio runs a SQL query to refresh a segment DE, then Journey Builder uses that DE as an entry source. The automation handles data prep; Journey Builder handles the subscriber experience.

Automation structure

An automation consists of:

Example structure

StepActivities (run in parallel)
Step 1SQL: Refresh ActiveSubscriberDE   |   SQL: Refresh ChurnRiskDE
Step 2SQL: Build FinalSegmentDE (joins outputs from Step 1)
Step 3Send: Weekly newsletter to FinalSegmentDE

Trigger types

TriggerWhen it runsBest for
ScheduledOn a defined repeating scheduleDaily segment refreshes, nightly data imports, weekly reports
File dropWhen a file matching a pattern arrives on SFTPTriggered by external system sending a data file
Run OnceManually triggered — runs one timeAd-hoc data jobs, testing, one-off migrations

Schedule options

Scheduled automations support:

⚠️ Timezone

Automation Studio schedules run in Central Time (US) by default regardless of your organisation's timezone. Account for this when scheduling time-sensitive operations (e.g. a nightly import at midnight local time may need to be configured as 6am UTC).

Activity types

ActivityWhat it does
SQL QueryRuns a SQL query and writes results to a target DE
Import FileImports a CSV/TXT from SFTP into a Data Extension
Export FileExports a DE to a CSV file on SFTP
File TransferMoves or transforms files between SFTP locations
Send EmailTriggers a User-Initiated send to a DE or List
FilterApplies a filter to a DE to create a new filtered DE
Refresh GroupRecalculates the members of a Group
ScriptRuns a Server-Side JavaScript script
VerificationChecks a condition (e.g. DE has records) and stops the automation if it fails
WaitPauses the automation for a set period between steps

SQL query activity

The SQL Query activity is the most-used activity in Automation Studio. It runs a T-SQL query against your DEs and System Data Views and writes results to a target DE.

Setting up a query activity

SQL Simple query activity — daily active segment refresh
-- Target DE: Segment_ActiveUK
-- Action: Overwrite (fresh each run)
-- Schedule: Daily at 6am

SELECT
    s.SubscriberKey,
    s.EmailAddress,
    s.FirstName,
    s.LastName,
    s.Country
FROM [Master_Subscribers] s
INNER JOIN [_Open] o
    ON s.SubscriberKey = o.SubscriberKey
    AND o.EventDate >= DATEADD(day, -90, GETDATE())
WHERE
    s.Country = 'UK'
    AND s.OptInStatus = 'Subscribed'

Import activity

The Import File activity imports a CSV or tab-delimited file from SFMC's SFTP server into a Data Extension. This is the standard mechanism for receiving nightly data feeds from CRM systems, e-commerce platforms, and data warehouses.

Import configuration

SettingWhat it controls
File naming patternThe file name (or pattern with wildcards) that the import looks for on SFTP. E.g. subscribers_*.csv
File locationThe SFTP folder path where the file is expected
File encodingUsually UTF-8; confirm with the sending system
DelimiterComma, tab, pipe, or other character
Field mappingMap CSV columns to DE fields
Import typeAdd & Update, Add Only, Update Only, or Overwrite
💡 File-triggered automations

For near-real-time imports, use a File Drop trigger instead of a schedule. The automation fires automatically when a file matching the pattern lands on SFTP. This is much more responsive than a scheduled check and removes the delay inherent in polling schedules.

File transfer activity

File Transfer activities move, rename, or transform files on SFTP. Common uses:

Common automation patterns

Pattern 1: Daily segment refresh + send

Trigger: Daily at 6am
Step 1: SQL Query — refresh Segment_ActiveEngaged DE (Overwrite)
Step 2: Send Email — weekly newsletter to Segment_ActiveEngaged

Pattern 2: Nightly CRM data feed

Trigger: File drop on SFTP (fires when file lands)
Step 1: Import File — import subscribers_YYYYMMDD.csv into Master_Subscribers DE (Add & Update)
Step 2: SQL Query — refresh JourneyEntry_Welcome DE with new subscribers added today
Step 3: File Transfer — archive the processed import file

Pattern 3: Journey entry refresh

Trigger: Daily at 8am
Step 1: SQL Query — write new subscribers from last 24hrs into JourneyEntry_Welcome DE (Overwrite)
Journey Builder's Welcome Journey entry source checks this DE on the same schedule and injects new contacts.

Pattern 4: Weekly performance report

Trigger: Every Monday at 7am
Step 1: SQL Query — aggregate last 7 days of send/open/click data into Report_WeeklySummary DE
Step 2: Export File — export Report_WeeklySummary to SFTP as CSV
Step 3: File Transfer — move CSV to external reporting SFTP for pickup by BI tool

Monitoring & error handling

Activity history

In Automation Studio, click an automation to see its Activity History — a log of every run with status (Complete, Error, Running), start/end times, and error messages. Check this regularly for scheduled automations that might be silently failing.

Common errors and fixes

ErrorLikely causeFix
SQL query "Object not found"DE name misspelled or doesn't exist yetCheck exact DE name; create if missing
Import activity "File not found"File didn't arrive on SFTP, wrong filename patternCheck SFTP directory; verify file naming convention
Query "Column does not exist"Target DE schema doesn't match SELECT outputEnsure target DE has matching field names/types
Query timeout (30 min)Query too complex, no index on join fieldsNarrow date range; add WHERE clauses; create indexed DEs
Automation stuck "Running"Previous run still processing; timeout issueWait; if stuck >2hrs contact Salesforce support
📘 Error notifications

Set up email notifications for automation failures in Setup → Notifications. You'll get an email alert when any automation step errors — much better than manually checking logs. This is one of the first things to configure on a new SFMC instance.