Backfill
Backfill means applying something you just set up to data Syft already has, instead of only to what arrives next.
There are two kinds, and they behave very differently:
| Signal backfill | Motion backfill | |
|---|---|---|
| How it starts | Automatically, whenever you change a signal | You ask for it |
| What it does | Re-scores which accounts carry which signals | Runs the motion. sends, syncs, exports |
| Costs credits | No | Yes |
| Can you undo it | Nothing to undo | No, actions that go out have gone out |
Signal backfill is bookkeeping. Motion backfill does things to people. Read the motion section before you tick the box.
Motion backfill
A new motion runs on new matches only. Backfilling it makes it run over everything that already matches. Every action fires: rows are exported, CRM records are written, messages are drafted, alerts are sent.
How to ask for it
- While creating or editing the motion. Tick Run motion on historical data next to the match preview. The option only appears when the motion currently matches something.
- After creating it. Open the motion and go to its runs. If it has no runs yet, Syft asks "Want to apply it to historical data that already matches your criteria?" — click Apply. You will get a confirmation with an estimated credit cost first.
- Through Syft AI. When you build a motion in chat, the review card offers to run it on historical data as part of confirming the motion.
The box is pre-ticked for CSV export motions, because an export with no history in it is usually not what anyone wanted. Everywhere else it is off by default and you have to choose it.
What it covers
A motion backfill runs over every account the motion matches today — everything its filters currently select, with no lookback limit.
This is the part people underestimate. It is not "the last week"; on an established workspace it can be tens of thousands of accounts. If your workspace is on high-volume traffic settings, matches are limited to the last 60 days.
Backfill uses the motion's filters as they are right now. Tighten the filters before backfilling, not after.
Credits
A motion backfill consumes credits, because each historical match is a real run. If you are out of credits the option is disabled — raise your monthly overage cap or upgrade to run it. The prompt on the motion's runs page shows an estimate before you commit.
When to backfill, and when not to
Good candidates — the motion writes a record, and nobody gets interrupted:
- CSV / Sheets export. This is the main case. An export is only useful with history in it.
- CRM sync — creating or updating HubSpot, Salesforce, Attio or Pipedrive records. Backfilling populates your CRM with the accounts that already qualified.
- Enrichment and list building.
Backfill with care — LinkedIn and email outreach. Safe while human review is on, which is the default: Syft drafts each message and holds it in the Needs Approval tab instead of sending, so a backfill gives you a queue to review rather than outbound mail. If you have turned auto-send on, a backfill contacts every historical match immediately. Check that setting before you tick the box.
Not recommended — notification-only motions (Slack, Microsoft Teams, Email, Google Chat alerts). Backfilling one sends an alert for every historical match at once. On a motion matching a few thousand accounts, that is a few thousand Slack messages, all about visits that happened weeks ago. Syft warns you when the motion has notification actions, and the prompt makes Start with new data only the default choice. Take it.
The rule of thumb: if the motion's job is to tell a human something happened, that news is stale and the backfill is noise. If its job is to record or prepare something, the backfill is exactly what you want.
Two cases where a backfill does nothing useful:
- Motions triggered by a job change or another custom signal — the signal fires on an event, so there is no meaningful history to replay.
- Motions that run on uploaded contacts — the contacts you uploaded already ran.
Mixed motions
A motion can both sync to your CRM and alert Slack. Backfilling it does both — you cannot backfill one action and not the other from the app.
If you need the records without the noise, contact the Syft team. We can run a backfill scoped to specific accounts with the notification steps suppressed.
Watching progress
The motion shows a Processing badge while its backfill runs, and the runs it creates appear in the motion's runs list as they are produced. Failures show as Partially failed or Failed to process for 24 hours.
Only one backfill per motion can run at a time — asking for another while one is in progress is declined.
Signal backfill
When you create, edit, or delete a signal, Syft re-checks recent visitor activity against your signal definitions so existing accounts pick up the change. This runs on its own — there is nothing to start.
When it runs
Syft queues a signal backfill automatically when you:
- Create a signal. Recent activity is checked against the new definition, so accounts that already match show up without waiting for their next visit.
- Change a signal's conditions. Recent activity is re-checked. Accounts that no longer match lose the signal; accounts that now match gain it.
- Rename a signal. Existing matches are relabelled. Nothing is re-evaluated, because the conditions did not change, so this finishes much faster.
- Delete a signal. The signal is removed from every account and contact that carried it.
A signal backfill is not something you can run on demand. There is no button, no API endpoint, and Syft AI cannot start one — it only ever follows one of the changes above. If you need history re-scored beyond what it covers, contact the Syft team.
What it covers
A signal backfill looks at accounts seen in the last 30 days. This window is fixed — it is not configurable, and there is no period to choose.
Within each of those accounts, Syft re-evaluates all of the stored session activity for every contact on the account, against all of your signals — not just the one you changed. So the 30-day window decides which accounts get reprocessed, not how far back Syft reads their activity.
Two things follow:
- An account not seen in over 30 days keeps whatever signals it had. Its history is not re-scored.
- Editing one signal can adjust matches for others on the same accounts, because every signal is re-evaluated together.
Renames are the exception: they only relabel existing matches, and cover up to 500 accounts, most recently seen first.
Watching progress
Go to Signals under Settings. While a backfill is running, the signal's row shows a Processing badge and the page refreshes on its own.
If something goes wrong you will see Partially failed (some accounts updated, some not) or Failed to process. Those stay for 24 hours. There is no badge on success — the badge simply disappears, and the updated matches are live.
Matches do not appear instantly
A signal backfill runs in the background after your save. On a workspace with a lot of recent activity it can take several minutes.
If you save a signal and immediately search for matching accounts, you may see fewer than you expect — or none. Wait for the Processing badge to clear and search again. Nothing is wrong with the signal.
Regardless of the backfill, the signal applies to all new activity from the moment you save it. The backfill is only about catching up on history.
Common questions
Can I backfill a signal further back than 30 days? Not from the app. Contact the Syft team and we can run a wider backfill for you.
Can I re-run a signal backfill without changing the signal? No. Saving a signal without changing anything does not queue one.
Does editing only a signal's description trigger a backfill? No. The description does not affect matching, so there is nothing to re-evaluate.
Does a signal backfill run my motions? No. It updates which accounts and contacts carry which signals. Running a motion over history is the separate, explicit opt-in described above.
Can I stop a motion backfill once it has started? Not from the app — and actions already taken cannot be recalled. Contact the Syft team immediately if you started one by mistake.
Can I preview what a motion backfill would do? Yes, in effect: the match preview on the motion form shows the accounts it currently matches, and that set is exactly what a backfill would run over. Check it before ticking the box.