Skip to main content

Autotask PSA Migration

Import your data from Autotask PSA into Ascent so you can switch without re-keying your customers, contacts, and history. The migration is read-only and one-directional — nothing is ever written back to your Autotask tenant.

Phase 1

This first release imports your Companies and Contacts. Tickets, time entries, contracts, assets, projects and attachments follow in later phases (the run framework — throttling, staging, idempotency and resume — is already in place for them).

Who can run a migration

Running a migration is reserved for the organization Owner (your "super admin"). It handles raw source credentials and bulk-creates records, so it is not available to the Admin role by default.

Before you start

Create an API-only user in Autotask (Admin → Resources/Users → an API User (API-only) security level) and note its three credentials:

  • API User (UserName)
  • API Secret
  • API Integration Code (the tracking identifier for your integration)

Autotask uses no OAuth or SSO for the REST API — these three values are all that is required.

Connecting and running

  1. Go to Admin → Autotask Migration.
  2. Enter the API User, Secret, and Integration Code.
  3. Click Test connection. Ascent automatically discovers your Autotask zone and runs an authenticated probe. A clear error is shown if the credentials are rejected.
  4. Click Create migration. Your credentials are validated and stored encrypted at rest; they are never shown again or written to logs.
  5. Press Start. The import runs in the background and you can watch per-entity progress (pulled / loaded / skipped / failed).

How it works

  • Zone discovery — the correct Autotask zone URL is resolved automatically; no zone is hardcoded.
  • Throttling — every call goes through a single conservative rate limiter that stays well under Autotask's per-hour threshold and backs off on 429, so a migration can never suspend your live Autotask tenant's API access.
  • Idempotent — each Autotask record is matched to its Ascent record by source id. Re-running a migration updates existing records instead of creating duplicates.
  • Resumable — progress is checkpointed per entity. If a run is interrupted, starting it again continues from the last checkpoint rather than restarting.
  • Reported — each run produces per-entity counts plus a log of skips, unmapped picklist values, and any records that failed (with the raw payload retained for review).

What is mapped (Phase 1)

AutotaskAscentNotes
CompaniesClientscompanyType maps to client type; unknown values are flagged for review and default to Customer. Inactive companies import as Inactive.
ContactsContactsLinked to their imported company. A contact whose company was not imported is skipped and logged.

Picklist values that have no mapping are surfaced in the run report rather than being dropped or silently defaulted.

Cleaning up

Deleting a migration run removes its staging data, id map, logs and the stored encrypted credentials — use it once a migration is complete.