Skip to main content

Tasks Import

This article walks you through how to import tasks into Swivel using a CSV file

T
Written by Tayler Hickman

Swivel's self-service Task Import allows you to create many tasks at once from a spreadsheet. The import walks you through four steps: uploading a file, mapping your columns to Swivel task fields, mapping your category and status values, and reviewing any rows that need attention before finishing.

Any user who has permission to create an individual task can also run a task import.

Things to Know Before You Import

  • The Task Import can be accessed from Business Management > Imports > Tasks Bulk Import

  • Import file must be in .csv file format

  • The first row of your file must be column headers. The importer uses row 1 as the field names.

  • Only Task Name is required. All other columns are optional

  • File size is not hard-capped, but very large files (50,000+ rows) will be processed in background batches and may take several minutes.

  • Tasks in Swivel are found on the Task Tab from the left side navigation and on linked contact records. See Swivel Task Experience for more information on task fields and views

Import Fields and Mapping

Once you have uploaded your .csv file, you will be brought to a mapping screen to match your file headers to fields inside Swivel. Column headers are matched case-insensitively, so "Task Name," "task_name," and "TASK NAME" all map to the same field. Below shows each supported field and accepted column header variations.

Field

Accepted Column Headers

Required

Format / Accepted Values

Task Name

task, task_name, title, subject, name

Yes

Any text

Due Date

due, due_date, deadline, due_on

No

MM/DD/YYYY, YYYY-MM-DD, or natural language (March 1, 2026).

Priority

priority

No

low, normal, high, urgent. Invalid or blank defaults to normal.

Description

description, notes

No

Any text
​

Tags

tags, labels

No

Comma-separated list

Source Key

source_key, external_id, legacy_id

No

Any text. Used for deduplication. If a task with this source key already exists, the row is skipped

Category

category, task_category, type

No

Free text. You will map each value to a workspace status in Step 3.

Status

status, task_status, state

No

Free text. you will map each value to a Swivel category in Step 3.

Assignee

assignee, responsible, owner, responsible_user

No

Full name of an active user in Swivel. Must be an exact match.

Completed On

completed_on, completed_at, completion_date, completed

No

Same formats as Due Date. Cannot be a future date.

Completed By

completed_by, completed_user

No

Full name of an active user in Swivel. Blank is allowed

Created by

created_by, creator, created_user

No

Full Name of an active user in Swivel. Blank is allowed.

Contacts

contacts, contact_names

No

Comma-separated list of contact full names

Contact IDs

contact_ids

No

Comma-separated list of Swivel contact IDs

Contact Source Keys

contact_source_keys

No

Comma-separated list of contact source keys

πŸ“Œ Note: Any column your file includes that Swivel's Importer does not recognize can be set to Do Not Import during mapping and will be ignored, not rejected.

Step 1 - Upload

  1. Navigate to Business Management > Imports > Tasks Bulk Import

  2. Drag your CSV onto the file input, or click to browse and select your file

  3. Select the Workspace all imported tasks should belong to. If no workspaces exist yet, the importer will auto-create one called Default with three starter statuses: Open, In Progress, and Done.

  4. Select a Default Task Status to assign to any row that does not have its own status value. This status must belong to the workspace you selected.

  5. Click Next

⚠️ Important: The default task status must belong to the workspace selected in this step. If it does not, the import will not proceed.

Step 2 - Map Fields

You will see a table with one row per column header from your CSV. The importer pre-populates the Swivel field based on the alias matching table above. Unrecognized columns default to Do Not Import. You can adjust any mapping, but the same Swivel field cannot be mapped to more than one column. If your file includes a Category or Status column, click Next to proceed to Step 3. If neither column is present, the import is queued and you move directly to Step 4.

Step 3 - Map Values (Category and Status only)

If your CSV includes a Category or Status column, you will need to match each distinct value in your file to an existing option in Swivel, or create a new one.

Categories : Values that match an existing category are pre-selected. Unknown values default to Create New, and Swivel will create the category the first time it is needed.

Statuses: Every status value in your CSV must map to an existing status within the workspace you selected in Step 1. There is no "Create New" option for statuses. Any row with an unmapped status value will use the default task status from Step 1.

If both Category and Status were mapped, the category screen appears first, followed by the status screen. Click Start Import on the status screen to begin.

Step 4 - Review and Finish

Once the import starts, Swivel shows a live progress counter that updates every 50 rows. You can close the tab and come back later. Progress will continue in the background and the completion summary will be waiting for you when you return.

Some rows may land in the Needs Review tab during processing. This happens for two reasons:

  • Unresolved contact - the contact name, ID, or source key could not be matched, or two contacts share the same name and the importer will not guess which one to use.

  • Completion status conflict - the row has a Completed On date but the mapped status is not marked as "completes task" in the workspace.

To resolve a review row, expand it to see the specific issue, then click Skip Issues & Create Task. This will drop the unresolved contact values from that row (other matched contacts are kept) and clear the conflicting status. The row will re-process immediately and disappear from the Needs Review tab.

πŸ“Œ Note: There is no undo on stripped contacts. If you need them, fix the CSV and re-run the import.

When the import finishes, you will see a summary showing tasks created, rows skipped as duplicates, rows that failed with errors, and any remaining unresolved review rows.

FAQs

What happens if I import the same CSV twice?

If your rows include a Source Key, any task with a matching source key already in Swivel will be skipped and counted as a duplicate. Rows without a source key are not deduplicated, so they will create new tasks each time. If you plan to re-run imports, including a source_key column is strongly recommended.

What if an assignee name does not match anyone in Swivel?

The row will fail with a row-level error. The importer requires an exact full name match to an active user and will never silently assign a task to the wrong person. If two users share the same name, the row will also fail. Resolve the name in your CSV and re-run.

Can I import tasks without linking them to a contact?

Yes. Contact fields are all optional. Tasks do not need to be linked to a contact record to import successfully.

What if my status value is not mapping correctly?

The most common cause is extra whitespace or punctuation in the CSV value, for example "Done " instead of "Done". Open the CSV in a text editor to confirm the value, or clean it up with a spreadsheet formula before re-importing.

Can I add task fields that are not in the supported columns list?

Not at this time. Columns outside the supported list will be ignored during import. If you need an additional field supported you can submit a product feedback request from the Help button inside Swivel

Did this answer your question?