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:
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.
It evaluates the filter against each fetched record.
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
Open your event in Swapcard Studio.
Go to Integrations → API connectors and open your connector.
Open the Mapping tab.
Locate the row for the type of data you want to filter (Attendees, Exhibitors, Sessions, etc.).
Click the filter icon on that row.
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, |
Operator | How to compare the field with your value ( |
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:
What does your field hold? A single value (a status, a name) or a list of values (categories, tags)?
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 ( | Operator | Value | Result |
| Is |
| true — the field equals the value |
| Is |
| false — case-sensitive |
| Is |
| false — a trailing space makes the values different |
| Is |
| false — the whole value must match, not just a prefix |
| Is not |
| true — the field is not equal to |
| Is not |
| false — the field is equal to |
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 ( | Operator | Value | Result |
| Contains |
| true — |
| Contains |
| false — no item equals |
| Contains |
| false — case-sensitive |
| Does not contain |
| true — none of the items equal |
| Does not contain |
| false — |
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 ( | Operator | Value | Result |
| Contains |
| true — |
| Contains |
| false — case-sensitive |
| Contains |
| true — substring match, can span across words |
| Does not contain |
| true — |
| Does not contain |
| false — |
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 |
| Is |
|
| Is |
|
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 |
| Is |
|
| Is |
|
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:
CountryIsFranceSub-group, operator Or:
Status NameIsActiveStatus NameIsPending
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 |
| Is |
|
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 |
| Contains |
|
Sessions whose Session Categories list includes Sponsor will be imported.
Exclude internal speakers
On the Speakers row:
Field | Operator | Value |
| Is not |
|
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:
Trigger a manual sync from the connector page.
Check the Logs view for the connector — see Understand Logs on Integrations for details.
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.
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