Creating Enrichments

Build a rule that auto-fills fields like category on your synced bank data, preview it against real records, then apply it to a feed.

8 min read

On this page

Enrichments transform your bank data as it syncs, so the records that land in your connected sheet, database, or table are already cleaned up and categorized. A Rule enrichment (a ruleset) automatically sets a field value (like category) whenever a record matches the conditions you define. For example: when the description contains "UBER", set Category to "Transport".

Building an auto-categorize ruleset, end to end.

This guide walks through creating a Ruleset, previewing it against your real transactions, and applying it to a feed.

Before you start

You need a workspace where you can edit resources, and at least one saved feed with field mappings (so you have data to enrich and preview). If you have not built a feed yet, follow the feed walkthrough first.

What an enrichment does#

The New Enrichment picker groups the enrichment types by what they do to your data. This guide focuses on Ruleset, the most common type; every other type has its own guide (linked below and at the end), and the enrichments overview lists all sixteen with the order they run in and the plan each one needs.

Transform data

Fill in field values as records sync. Ruleset (this guide) applies your explicit When/Then rules; Lookup Table applies a big key-value mapping like vendor to GL code.

Guard data

Change which rows reach your destination. Filter excludes matching records; Split breaks one record into several; Transfer Matcher pairs internal transfers across accounts; Duplicate Screen flags look-alike duplicates.

Watch

Notify without touching data. Alert messages you when records match conditions; Feed Monitor tells you when a feed stops syncing; Budget watches totals against thresholds; Recurring Registry tracks subscriptions; Fee Ledger tracks bank fees; Anomaly Detector flags unusual activity; Digest sends a scheduled summary.

AI & learning

Fill what nothing else could. Memory learns from your corrections; AI Categorizer and Merchant Cleanup use AI on still-empty fields, gated by confidence.

A Ruleset is a list of rules. Each rule is read as "When these conditions match, Then set a field to a value." Rules run top to bottom, so order matters when more than one could apply.

Step 1: Create a Ruleset#

You can start from the Enrichments page or from inside a feed. Starting from the feed is convenient because the new enrichment is automatically attached to that feed.

  1. Open a feed and go to Mapping

    Open the feed you want to enrich and select the Mapping tab.

  2. Open the Enrichments subtab

    Inside Mapping, switch to the Enrichments subtab (next to Fields).

  3. Create the enrichment

    Click Create enrichment (or the + Create new link). In the New Enrichment dialog, choose Ruleset.

The New Enrichment dialog: a search box above a category rail listing All, Transform data, Guard data, Watch and AI and learning with counts, beside a two-column grid of enrichment cards — Ruleset and Lookup Table under Transform data, Filter, Split, Transfer Matcher and Duplicate Screen under Guard data — each card showing its icon, name and one-line description, with a Don't see the enrichment you need? Request one link in the footer.
The New Enrichment dialog: search or browse by category, then pick a type. Every type has its own icon, which you can change later.

BankSync creates the Ruleset, attaches it to the current feed (left disabled until you finish configuring it), and opens its detail view.

Starting from the Enrichments page instead

You can also open Enrichments in the left navigation and click Add an enrichment, then pick Ruleset. Enrichments created this way are not attached to any feed yet, so you will attach one in Step 4.

Need something that is not in the list?

Use Request one at the bottom of the New Enrichment dialog (or search for what you need and use the request link in the empty result). Tell us what it should do and we will consider building it — the same request path as asking for a bank or an integration.

Each enrichment also has an icon. New ones start with their type's icon; click the icon next to the name on the card or the detail view to pick a different one — any icon or emoji, including the icons for the other enrichment types.

Step 2: Set the data type#

In the enrichment detail view, the Configuration tab shows a Data type selector at the top. Choose the data type the rule should apply to (for most categorization, this is Transactions). The data type determines which fields are available in your conditions and actions.

Data types an enrichment cannot work on are shown disabled with the reason — a Ruleset needs at least one auto-fill field, so Balances and Holdings are unavailable; a Duplicate Screen needs a description and a Duplicate Flag field, so it is Transactions-only. Watch enrichments that observe feeds or workspace totals (Feed Monitor, Budget, Fee Ledger, Digest) have no data type at all and show no selector.

Changing data type clears your rules

Field names differ between data types, so switching the data type after you have built rules will prompt you to confirm and then reset the conditions. Pick the right data type before building rules.

Step 3: Build the rule#

Each rule card has two parts: a When section (the conditions) and a Then set section (the action).

  1. Set the condition (When)

    In the When section, pick the field (for example Description), an operator (for example contains), and type the value to match (for example UBER).

  2. Add more conditions (optional)

    Click Condition to add another row. The AND / OR badge between rows controls whether all conditions must match or any of them. Use Group to nest a set of conditions.

  3. Set the action (Then set)

    In the Then set section, choose the field to fill (for example Category) and type the value to write into it (for example Transport).

  4. Add more rules (optional)

    Click Add rule to add another rule to the Ruleset. Drag rule cards by their handle to reorder them; rules run top to bottom, so put the most specific rules first.

  5. Name the rule

    Click the rule's title to rename it (for example "Rideshare") so the Ruleset is easy to scan later.

Changes save automatically; the badge at the top of the dialog shows the save status. There is no separate Save button.

Operators worth knowing#

Beyond the basics (equals, contains, greater than, is empty), text conditions also support does not start with, ends with, and matches regex, and both text and number fields support is any of / is none of, which take a comma-separated list of values — one condition instead of a chain of ORs.

Regex patterns are safety-checked at save

The matches regex operator accepts standard regular expressions. Each pattern is checked when you save: patterns that are invalid, too long, or shaped in a way that could stall matching are rejected with an explanation, so a bad pattern can never slow down or break a sync.

Step 4: Apply the Ruleset to a feed#

A Ruleset only runs on the feeds it is attached to, and only when it is enabled.

  1. Attach to feeds

    Open the Dependencies tab in the enrichment detail view. Check the feeds you want this Ruleset to run on. Only feeds whose data type matches the enrichment are selectable; others show as incompatible.

  2. Enable it

    At the bottom of the dialog, flip the switch from Disabled to Enabled.

Toggle from the feed instead

In a feed's Mapping > Enrichments subtab, attached enrichments appear under Active Enrichments and workspace enrichments appear under Use Existing. Use the per-enrichment switch there to apply or remove an enrichment for that feed without opening its detail view.

Step 5: Preview against real data#

The feed's Mapping tab has a Live Preview panel at the bottom that runs your current configuration (including enrichments) against your actual records, so you can check the result before syncing.

  1. Open Live Preview

    Go to the feed's Mapping tab and scroll to Live Preview. Pick a date range that contains transactions you expect to match.

  2. Check the Data tab

    The Data tab shows how rows will look in your connected sheet, database, or table. Cells changed by an enrichment are highlighted.

  3. Check the Enrichments tab

    Switch to the Enrichments tab to see each rule and how many records it matched. The count badge tells you at a glance whether your rule is firing.

Enrichment Ruleset editor showing a rule named Shopping with a When condition Description contains AMZN and a Then set action setting Category to Shopping, above a feed Live Preview before/after table where the Category cells on the two matching AMZN transaction rows are highlighted as changed, with a 2-match count badge on the Enrichments tab.
The rule card (When / Then set) and the feed's Live Preview, with cells changed by the enrichment highlighted.

Confirm it worked#

You have a working enrichment when:

  • The Ruleset shows as Enabled and is attached to your feed (it appears under Active Enrichments in the feed's Enrichments subtab).
  • In Live Preview, the Enrichments tab shows a non-zero match count for your rule.
  • In the Data Live Preview tab, the target field (for example Category) shows your value on the matching rows, with the changed cells highlighted.

After the next sync, those enriched values appear in your connected sheet, database, or table.

Troubleshooting

No matches in the preview? Confirm the rule's data type matches the feed, the enrichment is Enabled, and it is attached to this feed (Dependencies tab). If matches still show zero, loosen the condition: text matching is exact to what you typed, so check spelling and try contains instead of equals, and widen the preview date range so matching records are included.

Beyond Rulesets: the other enrichment types#

Rules edit your data with explicit logic. The other enrichment types use the same machinery — the same New Enrichment dialog, the same Dependencies tab, the same enable switch, and (where they take conditions) the same condition builder — for different jobs:

  • Transform data: a Lookup Table applies a big key-value mapping (vendor → GL code) instead of hand-written rules, and runs just before rules so your rules can override it.
  • Guard data: a Filter excludes matching records from syncing; a Split replaces one record with several that add up exactly; the Transfer Matcher pairs internal transfers across accounts; the Duplicate Screen flags look-alike duplicates.
  • Watch: an Alert notifies you (email, Slack, or webhook) when a record matches during a sync, without changing it; a Budget alerts when spending, income, or a balance crosses a threshold over a period; the Recurring Registry tracks subscriptions and flags price hikes and missed charges; the Fee Ledger tracks bank fees and alerts when they creep upward; the Anomaly Detector flags unusual activity like big first-time merchants and transaction bursts; a Digest sends a scheduled summary of it all; and the Feed Monitor alerts when a feed stops syncing or silently stops producing records.
  • AI & learning: Memory learns from how you correct records in your destination and reapplies those values; the AI Categorizer and Merchant Cleanup use AI to fill whatever Memory and your rules leave empty, with low-confidence suggestions parked in the Review Queue.

Next steps#

Refine where enriched values land by reviewing your field mappings.

Configure field mappings

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.