Recent chats
ASKGEEZ Q&A GUIDETechnology & devices

How can I migrate a customer-support ticket queue without losing assignments?

Quick answer

Inventory the fields and routing rules that determine who handles each ticket, map them to the destination, and resolve missing users or teams before migration. Test representative tickets in a non-production destination, then compare record counts, owners, statuses, priorities, tags, and escalation details against the source. Do not assume that a successful data import also recreates assignment rules; verify routing separately.

LET’S WORK THROUGH IT

The question, the details, the next step.

Question

What should I do first if the main thing I’m worried about is tickets ending up with no owner?

Geez

Start with an ownership inventory—not the import itself. Export or list the queue’s current tickets and record the owner on each one, including whether the owner is a person, team, or unassigned queue. Separately list the people and teams that can receive tickets in the destination. Make a crosswalk from each source owner to a destination owner, and flag any source owner with no confirmed match. Decide explicitly what should happen to tickets owned by former staff or inactive accounts; do not silently assign them to someone else.

For Microsoft’s documented Salesforce-to-Dynamics 365 migration route, target users must already exist, and user mapping is used to resolve record ownership. Its preparation guidance includes setting up target users and reviewing inactive users who own historical records [S1]. That is specific to that migration route, not a rule for every support platform. For any platform pair, confirm how that product handles owners and teams before relying on a mapping.

Follow-up question

How do I make a field map that covers more than just the owner?

Geez

Make one row for each field or relationship that matters to how a ticket is handled. Include the source field, destination field, transformation or matching rule, and how you will check the result. At minimum, map owner, status, priority, tags, escalation indicator or details, and any queue or team assignment. Add ticket ID or another stable identifier so you can compare the same record on both sides.

Example template:

Source ticket ID | Source field/value | Destination field | Conversion or match rule | Validation check | Unresolved?

A sample row might be: [T-1042] | owner: [Team A] | [destination team field] | map to [Team A equivalent] | compare owner after test import | no. These are placeholders, not claims about a particular system. If a field has no clear destination equivalent, mark it as unresolved and agree whether to transform, preserve elsewhere, or exclude it before moving data. Don’t treat similarly named fields as equivalent without checking their meaning.

Follow-up question

Will mapping the fields preserve the rules that assign new or reopened tickets?

Geez

Not necessarily. Treat stored ticket ownership and automatic assignment behavior as two separate work items. Write down the source rules that send tickets to a person, team, or queue—for example, rules based on category, priority, or escalation—and identify which destination rule, if any, is meant to reproduce each one. Record the rule’s conditions, intended recipient, and what should happen when no condition matches. Then create or configure the destination rules using that platform’s supported process.

For the documented Salesforce-to-Dynamics 365 migration, Microsoft identifies case ownership and lifecycle-status processing, but its mapping guidance does not establish that every field, escalation detail, or assignment rule transfers unchanged [S2]. So don’t infer rule preservation from a successful ticket import. Keep the rule list with the migration plan and test routing behavior in the destination independently.

Follow-up question

What’s a practical test plan before we switch the live queue?

Geez

Use a non-production destination first, with test records that cover different owners, statuses, priorities, tags, and escalation cases. Include records owned by inactive users, unassigned records, and examples that exercise each important routing rule. For each test, compare the source and destination using the stable ticket identifier: check that the intended owner and mapped values appear, then test whether the destination routes a new or reopened ticket as intended. Record mismatches rather than fixing them invisibly, so you can adjust the map or rule and repeat the test.

A useful result log is: [ticket ID] | [expected owner] | [actual owner] | [fields checked] | [rule exercised] | [pass / issue] | [next action]. Before production, reconcile source and destination record counts, review per-record errors and migration logs, and investigate any unexplained differences. In the documented Salesforce-to-Dynamics 365 workflow, Microsoft calls for preflight and result checks and testing in a non-production Dynamics environment; it also notes that outcomes depend on source data quality [S3]. Those checks help organize verification but do not guarantee that every assignment or ticket field is preserved.

A practical checklist

  • List ticket owners, teams, queues, and unassigned records; flag owners without a confirmed destination match.

  • Map owner, status, priority, tags, escalation details, and ticket identifiers, recording transformations and unresolved fields.

  • Document each assignment rule’s conditions, recipient, and fallback; decide how it will be recreated in the destination.

  • Test representative tickets in a non-production destination, including inactive-owner and unassigned cases.

  • Compare record counts, individual ticket values, routing results, and migration errors; resolve discrepancies before production.

A few more useful answers

Should I change old tickets owned by inactive users before migrating?

First identify and count them, then decide with the queue owner whether to map them to an existing destination user, preserve them in another supported way, or leave them unresolved for review. Keep the decision visible in the mapping rather than applying a silent default.

What if the destination has no equivalent field for escalation details?

Mark the field as unresolved and agree on an explicit treatment before the move, such as a supported destination field or a documented exclusion. Include the chosen treatment in the test and reconciliation plan.

Does a clean migration report prove assignments were preserved?

No. Migration counts and error logs are useful checks, but they do not by themselves prove that every owner, field, or routing rule behaves as intended. Compare representative records and test routing separately.

Sources

References used for this guide.

  1. [S1] Map Salesforce users to Dynamics 365 users (preview)
    learn.microsoft.com · Checked
  2. [S2] Map Salesforce objects and fields to Dynamics 365 (preview)
    learn.microsoft.com · Checked
  3. [S3] Migrate data and verify results (preview)
    learn.microsoft.com · Checked

YOUR QUESTION. YOUR DETAILS.

Let’s work through your situation.

Get a tailored answer or help with your next task. Starts at $1, with a quote before you pay.

Ask your own question
← Back to Geez at Work