Skip to main content

Understanding Filter Logic in Connector Setup

When you set up an Integration Connector, you may not want to import every record from your source system into Swapcard. An Import Filter is an inclusion rule: it defines the conditions a record from the source system must satisfy in order to be imported into Swapcard.

A record is imported only when the filter evaluates to true for that record. Any record for which the filter is false is skipped — it is never created or updated in Swapcard.

If you want to import only sessions of a specific type, only exhibitors from a given country, or only speakers tagged with a certain category, you write a condition that is true for exactly those records.

When no filter is configured, every record fetched by the connector is imported by default.

This article explains how Import Filters work, what each operator does, and how to avoid common mistakes when configuring them.

What Import Filters do

An Import Filter is a set of rules attached to a row in the Mapping tab of the connector (Sessions, Exhibitors, Attendees, etc.). It acts as an inclusion test: each record fetched from the source system is evaluated against the rules, and the filter is either true (the record satisfies the conditions) or false (it doesn't).

Every time the connector runs:

  1. It fetches records from the source system. Depending on the connector and its sync mode, this may be all records or only the records that changed since the last sync — see Integration and Sync Modes.

  2. It evaluates the filter against each fetched record.

  3. Records for which the filter is true are imported. Records for which the filter is false are skipped entirely — they are never created or updated in Swapcard.

Accessing the filter editor

  1. Open your event in Swapcard Studio.

  2. Go to Integrations → API connectors and open your connector.

  3. Open the Mapping tab.

  4. Locate the row for the type of data you want to filter (Attendees, Exhibitors, Sessions, etc.).

  5. Click the filter icon on that row.

  6. The Import filter modal opens.

A small dot on the filter icon means a filter is currently active on that row. To remove an existing filter, open the editor and click Clear filter.

Anatomy of a condition

Every filter rule is a single condition made of three parts:

Part

What it is

Field

The field to check (for example, Status Name, Session Type, Country).

Operator

How to compare the field with your value (Is, Contains, etc.).

Value

The value to compare against. It must match exactly what comes from the third-party service, including capitalization.

Operators

Four operators are available in the filter editor.

Operator

Meaning

Best for

Is

The field equals the value, exactly.

Single-value text fields (status, type).

Is not

The field does not equal the value, exactly.

Excluding one specific value.

Contains

The field contains the value as one of its items, or as a substring.

Multi-value fields (categories, tags), or partial text matches.

Does not contain

The opposite of Contains.

Excluding records that have a given tag or substring.

Choosing the right operator

Two questions decide which operator you need:

  1. What does your field hold? A single value (a status, a name) or a list of values (categories, tags)?

  2. What do you want to do? Match exactly, match part of, include, or exclude?

Use the table below to find the operator that fits. For exact behavior on edge cases (case sensitivity, missing values, etc.), see Is and Is not in detail and Contains and Does not contain in detail.

If your field is...

And you want to...

Use this operator

A single text value

Match it exactly

Is

A single text value

Exclude one specific value

Is not

A single text value

Match a word or phrase inside the text

Contains

A single text value

Exclude records that contain a word or phrase

Does not contain

A list of values

Include records that have a specific item

Contains

A list of values

Exclude records that have a specific item

Does not contain

When in doubt, first ask whether the field is a single value or a list of values — most operator-choice mistakes come from mixing those up.

Is and Is not operators in detail

Is and Is not check whether the field is exactly equal to the value you typed. They are designed for single text values such as a status, a type, or a name.

When the field is a single text value

The whole field must match the value, character for character (case-sensitive). Spelling, capitalization, and punctuation all matter — partial matches do not count.

  • Is is true when the field equals the value exactly.

  • Is not is true when the field does not equal the value exactly.

Field value (Status Name)

Operator

Value

Result

"Active"

Is

Active

true — the field equals the value

"Active"

Is

active

false — case-sensitive

"Active"

Is

Active

false — a trailing space makes the values different

"Active"

Is

Activ

false — the whole value must match, not just a prefix

"Active"

Is not

Inactive

true — the field is not equal to "Inactive"

"Active"

Is not

Active

false — the field is equal to "Active"

When the field is a list

Is and Is not treat the field as a single value, so on a list field they will not behave the way you expect — Is will (almost) never match a list, even if the value you typed is one of the items. For list fields, use Contains or Does not contain instead.

Empty or missing fields

If the source field is missing or empty, the comparison still runs:

  • Is returns false — a missing value is not equal to anything you typed.

  • Is not returns true — a missing value is, by definition, not equal to anything you typed.

This is worth keeping in mind: a filter like Status Name Is not Cancelled will also include records that have no Status Name at all. If you want to require a value to be present, combine the condition with another one.

Contains and Does not contain operators in detail

The behavior of Contains and Does not contain depends on whether the source field is a list of values or a single text value. Knowing the difference avoids a lot of confusion.

When the field is a list

The value you type is checked against each item of the list, using strict equality — the whole item must match the value exactly (case-sensitive).

  • Contains is true when at least one item of the list equals the value.

  • Does not contain is true when no item of the list equals the value.

Field value (Session Categories)

Operator

Value

Result

["AI", "Sponsor"]

Contains

AI

true"AI" is one of the items

["AI", "Sponsor"]

Contains

Spons

false — no item equals "Spons" (partial matches don't count for lists)

["AI", "Sponsor"]

Contains

ai

false — case-sensitive

["AI", "Sponsor"]

Does not contain

Workshop

true — none of the items equal "Workshop"

["AI", "Sponsor"]

Does not contain

AI

false"AI" is one of the items

When the field is a single text value

The value you type is checked as a substring anywhere in the text (case-sensitive).

  • Contains is true when the value appears anywhere inside the text.

  • Does not contain is true when the value does not appear inside the text.

Field value (Description)

Operator

Value

Result

"Daily keynote opening"

Contains

keynote

true"keynote" appears in the text

"Daily keynote opening"

Contains

Keynote

false — case-sensitive

"Daily keynote opening"

Contains

note ope

true — substring match, can span across words

"Daily keynote opening"

Does not contain

workshop

true"workshop" doesn't appear in the text

"Daily keynote opening"

Does not contain

keynote

false"keynote" appears in the text

Empty or missing fields

If the source field is missing, empty, or any other type than a list or a text value (for example, a number), both Contains and Does not contain return false — meaning the record will not pass either filter. If you need to capture records that have no value for a given field, Contains / Does not contain are not the right tools.

Combining multiple conditions

The filter editor lets you add multiple conditions and choose how they combine.

There are two distinct actions to know about:

  • Add condition — adds another condition next to the existing ones, inside the same group. All conditions in the same group are combined with the same logic operator (And or Or).

  • Create a group of condition — wraps an existing condition into a sub-group, so you can give it its own logic operator, independent from the parent. This is what lets you mix And and Or in the same filter.

The logic operator of a group is set once at the top and applies to every condition inside that group; you cannot mix And and Or within a single group — that is exactly what sub-groups are for.

Adding a new condition

Click Add condition at the bottom of the group to add another condition. Then choose the logic operator for the group:

  • And — every condition must match for the record to be imported.

  • Or — at least one condition must match.

Example — two conditions joined by And

Import only exhibitors that are based in France and marked as Active:

Field

Operator

Value

Country

Is

France

Status Name

Is

Active

Logic operator: And. A record passes the filter only if both conditions are true.

Example — two conditions joined by Or

Import exhibitors based in either France or Germany:

Field

Operator

Value

Country

Is

France

Country

Is

Germany

Logic operator: Or. A record passes the filter if either condition is true.

Creating a group of conditions

To mix And and Or in the same filter, you need a sub-group. Open the actions menu (the icon) next to a condition and choose Create a group of condition. The condition is then wrapped into a sub-group; from there you can add more conditions inside it and choose the sub-group's own logic operator.

Adding a condition and creating a group are not the same:

  • Add condition keeps everything at the same level — same group, same logic operator.

  • Create a group of condition introduces a new level of nesting — a sub-group with its own logic operator.

Example — mixing And and Or

Import French exhibitors whose status is either Active or Pending:

  • Top-level group, operator And:

    • Country Is France

    • Sub-group, operator Or:

      • Status Name Is Active

      • Status Name Is Pending

In plain English: "Country is France, and (Status is Active or Status is Pending)."

Limits

There are limits on how many conditions a filter can contain and how deeply they can be nested. The editor will let you know when you reach them.

Worked example: ASP Events connector

Here are a few practical filter setups using fields from the ASP Events connector.

Only import keynote sessions

On the Sessions row:

Field

Operator

Value

Session Type

Is

Keynote

Only sessions whose Session Type is exactly Keynote will be imported.

Only import sessions tagged with a specific category

Session Categories on a Session is a list of values. Use Contains:

Field

Operator

Value

Session Categories

Contains

Sponsor

Sessions whose Session Categories list includes Sponsor will be imported.

Exclude internal speakers

On the Speakers row:

Field

Operator

Value

Speaker Type

Is not

Internal

All speakers will be imported except those whose Speaker Type is Internal.

Common mistakes

Typos and casing in the Value

The Value must match the source system character for character, including capitalization. Active and active are not the same. Copy values directly from your source system to avoid typos.

Using Is on a list field

If the source field is a list (for example, Session Categories, Streams, or Tags), Is will almost never match — the whole list rarely equals a single string. Use Contains instead.

Expecting Contains to mean "starts with"

On a text field, Contains matches the value anywhere in the text — at the start, in the middle, or at the end. It is not a "starts with" match. For example, Description Contains keynote matches "Daily keynote", "keynote opening", and "the keynote ended" equally.

Forgetting that a filter doesn't delete previously imported records

Filters apply at the moment of import. If you tighten a filter to exclude records that were already imported, those records remain in Swapcard — you need to remove them manually if needed.

Testing your filter

Once you save a filter, it takes effect on the next sync. To check that it is doing what you expect:

  1. Trigger a manual sync from the connector page.

  2. Check the Logs view for the connector — see Understand Logs on Integrations for details.

  3. Look at the count of records inserted or updated. If the count is much lower or higher than expected, your filter may be too restrictive or too permissive.

  4. Spot-check a few records in Swapcard against your source system to confirm the right ones were imported.

If something looks off, open the filter editor again and adjust the Field, Operator, or Value. Pay special attention to spelling and capitalization in the Value.

Filters configured by support before January 2026

If your event had Import Filters set up by Swapcard support before January 2026, those filters have been automatically migrated and are now visible and editable in Studio — you can review them by opening the filter icon on the relevant row in the Mapping tab.

No action is required. Your existing filters continue to apply on every sync. You now have full control to modify or remove them without contacting support.

Read more

Did this answer your question?