Helpdesk migration
Field-level mapping, validation, and rollback between Stames and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Stames
Source
Salesforce Service Cloud
Destination
Compatibility
7 of 12
objects map 1:1 between Stames and Salesforce Service Cloud.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from Stames to Salesforce Service Cloud is a structural migration across fundamentally different helpdesk models. Stames operates as a multi-channel aggregation inbox where tickets, customer profiles, and conversations live as separate but linked objects. Salesforce Service Cloud uses Cases as the primary unit of work, Contacts and Accounts as the person and organization records, and EmailMessage records for threaded email history, with Salesforce Files for attachments and custom fields for metadata like SLA timers and channel attribution. The self-service portal configuration is not API-accessible in Stames and must be manually recreated in Salesforce post-migration. We use the Salesforce REST and Bulk APIs with chunking and parent-record lookup resolution to move tickets, contacts, conversations, attachments, and agent accounts in dependency order, flagging any Stames-specific notification triggers and reminder metadata as custom fields for the customer's admin to validate post-migration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Source platform
Stames platform overview
Scorecard, SWOT, gotchas, and pricing for Stames.
Destination platform
Salesforce Service Cloud platform overview
Scorecard, SWOT, gotchas, and pricing for Salesforce Service Cloud.
Data migration guide
The complete Salesforce Service Cloud migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Salesforce Service Cloud migration checklist
Pre- and post-cutover tasks for moving onto Salesforce Service Cloud.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Stames object lands in Salesforce Service Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Stames
Ticket
Salesforce Service Cloud
Case
1:1Stames Tickets map directly to Salesforce Case records as the primary unit of work. The Stames ticket subject and description map to Case Subject and Description fields. Status, priority, and assignment metadata map to Case Status, Priority, and OwnerId respectively. Any Stames custom fields on the Ticket object map to custom fields on the Case object (__c API name). We configure Case Record Types and Status picklist values in Salesforce to match the Stames ticket pipeline stages before migration.
Stames
Customer
Salesforce Service Cloud
Contact + Account
1:manyStames Customer records contain contact details and organizational metadata. We split Stames Customers into Salesforce Contact (for the individual) and Account (for the organization) records. If the Stames Customer includes a company name, we create or match an Account record first, then link the Contact to it via AccountId. If no company name exists, we use the Customer name as the Account name and create a personal Account. We resolve the Contact.AccountId lookup before inserting the Contact record so that no orphaned Contact records are created during migration.
Stames
Conversation
Salesforce Service Cloud
EmailMessage + Task
1:1Stames Conversation messages attached to a Ticket map to Salesforce EmailMessage records linked to the Case. Each message in the conversation becomes a separate EmailMessage record with the original timestamp, sender (agent or customer), and message body preserved. EmailMessage parentid references the Case Id. For non-email channel messages (WhatsApp, SMS, social), we map the channel source to a custom text field on the EmailMessage and store the message body in the EmailMessage body field, noting the channel origin. Threading order is preserved by setting EmailMessage.IncomingDate to the original Stames timestamp.
Stames
Channel (channel attribution)
Salesforce Service Cloud
Custom Field on Case + EmailMessage
lossyStames captures the originating channel (Facebook, Instagram, WhatsApp, Email, API, Contact Forms) as a field on each Conversation record. Salesforce Service Cloud has native support for Email, Chat, and Messaging channels via separate objects. We map Email channel to the native EmailMessage flow, Chat to LiveAgent Transcript records, and WhatsApp to LiveMessage. For Facebook and Instagram (which Stames supports natively), we store the channel source in a custom text field Stames_Channel_Source__c on the Case record. This ensures channel attribution is preserved and filterable even when no direct Salesforce channel object equivalent exists.
Stames
User / Agent
Salesforce Service Cloud
User
1:1Stames agent accounts with roles and permissions map to Salesforce User records. We resolve agents by email match against the destination Salesforce org's User table. Role and permission metadata from Stames flags any permission gaps where Salesforce's sharing model does not support an equivalent. Agents without a matching Salesforce User go to a reconciliation queue for the customer's admin to provision before record import proceeds. Active status in Stames maps to Active = true in Salesforce.
Stames
Attachment
Salesforce Service Cloud
ContentDocument + ContentVersion
1:1File attachments on Stames Tickets and Conversations are downloaded during export and re-uploaded to Salesforce as ContentVersion records. Each file creates a ContentDocument record linked to the parent Case via ContentDocumentLink (with LinkedEntityId pointing to the Case Id). We preserve the original filename, MIME type, and file size. Media URL references stored in Stames conversation records are updated to point to the new Salesforce Files location after migration.
Stames
Tag / Label
Salesforce Service Cloud
Custom Multi-Select Picklist or Topic
lossyTags applied to Stames Tickets for categorization export as label values and map to a Salesforce custom multi-select picklist field on the Case object (Stames_Tags__c). The customer chooses between a multi-select picklist (suitable for up to 500 distinct tag values) or Salesforce Topics with TopicAssignment records (suitable for larger, cross-object tagging schemas). Tag naming consistency is validated before migration to avoid picklist value conflicts in Salesforce.
Stames
Reminder and Notification metadata
Salesforce Service Cloud
Custom Field on Case
lossyStames stores SLA compliance timers, SMS notification triggers, and email reminder settings as metadata on the Ticket record. We export these as custom fields on the Salesforce Case object (for example, SLA_Due_Date__c, SMS_Notification_Enabled__c, Reminder_Trigger__c). Notification triggers that rely on Stames-built-in automation do not migrate; we document each active notification trigger during discovery as a custom field value and flag it for Salesforce Flow or Apex rebuild post-migration.
Stames
Self-Service Portal
Salesforce Service Cloud
Not migrated (Experience Cloud or Customer Portal)
1:1Stames self-service portal configurations, including custom forms, portal access controls, branding settings, and self-service-facing content, are not exposed via the Stames API and cannot be migrated automatically. We do not include portal configuration in the migration scope. Customers must manually recreate portal settings in Salesforce Experience Cloud or Customer Portal post-migration. We communicate this clearly during discovery and note that portal parity is not achievable through automated migration.
Stames
Ticket status history
Salesforce Service Cloud
CaseHistory (custom or standard audit trail)
lossyIf Stames retains a ticket status change history log (ticket state transitions with timestamps), we map this to Salesforce CaseHistory (the standard audit trail for Case Status changes). If the source records contain intermediate status values not present in the destination Case Status picklist, we extend the picklist during schema design to accommodate all historical values. Status change timestamps are preserved as CaseHistory CreatedDate.
Stames
Custom Field (Ticket-level)
Salesforce Service Cloud
Custom Field on Case
1:1Any Stames custom fields defined at the Ticket level migrate to custom fields on the Salesforce Case object. We map Stames field data types (text, number, date, dropdown) to the closest Salesforce field type (Text, Number, Date, Picklist). Lookup relationships from Stames custom fields to other Stames objects (for example, a custom field linking a Ticket to a custom object) are resolved by pre-creating the destination custom object in Salesforce, then inserting it before the Case import so that the lookup ID is available at insert time.
Stames
Custom Object (Stames-specific)
Salesforce Service Cloud
Custom Object in Salesforce
1:1If the Stames instance includes customer-defined custom objects (for example, a Warranty or Subscription object linked to Tickets), we migrate these to Salesforce custom objects of matching API name (__c suffix). The destination schema is pre-created before migration, including all custom fields, lookup relationships to Case, Contact, and Account, and any validation rules. We insert custom object records after parent records (Case, Contact, Account) are confirmed in Salesforce to satisfy all foreign-key constraints.
| Stames | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Ticket | Case1:1 | Fully supported | |
| Customer | Contact + Account1:many | Fully supported | |
| Conversation | EmailMessage + Task1:1 | Fully supported | |
| Channel (channel attribution) | Custom Field on Case + EmailMessagelossy | Fully supported | |
| User / Agent | User1:1 | Fully supported | |
| Attachment | ContentDocument + ContentVersion1:1 | Fully supported | |
| Tag / Label | Custom Multi-Select Picklist or Topiclossy | Fully supported | |
| Reminder and Notification metadata | Custom Field on Caselossy | Fully supported | |
| Self-Service Portal | Not migrated (Experience Cloud or Customer Portal)1:1 | Not supported | |
| Ticket status history | CaseHistory (custom or standard audit trail)lossy | Fully supported | |
| Custom Field (Ticket-level) | Custom Field on Case1:1 | Fully supported | |
| Custom Object (Stames-specific) | Custom Object in Salesforce1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Stames gotchas
No public pricing page forces pricing discovery through sales
Self-service portal settings are not API-accessible
Small platform footprint limits community troubleshooting resources
Salesforce Service Cloud gotchas
Data Export 512MB file size cap breaks large org exports
API Daily Request Limits vary by license edition
No automatic data backup in base Salesforce
Picklist dependencies silently break records when unmapped
Workflow rules fire unexpectedly during data load
Pair-specific challenges
Migration approach
Discovery and Stames API inventory
We audit the Stames instance via its API, cataloging all Ticket fields (standard and custom), Customer fields, Conversation message records, channel attribution data, attachment file references, tag values, user and agent accounts, and any notification or SLA metadata. We also confirm whether the Stames self-service portal is in use and whether any custom objects exist beyond the standard Ticket-Customer-Conversation model. The discovery output is a written migration scope document with a field-level inventory and any items requiring manual post-migration work explicitly called out.
Salesforce schema design in Sandbox
We design the destination Salesforce Service Cloud schema in a Sandbox org. This includes configuring Case Record Types and Status picklist values to match Stames ticket pipeline stages, creating or extending the Contact and Account object schema, defining custom fields for channel attribution (Stames_Channel_Source__c), SLA metadata fields, and any Stames custom field equivalents. We configure Salesforce Entitlements and Business Hours structures during this phase so that the SLA configuration framework is ready once data lands. All schema changes deploy via the Salesforce metadata API into Sandbox for validation before production.
Sandbox migration and reconciliation
We run a full migration into the Salesforce Sandbox using production-equivalent data volume. The customer's service operations lead reconciles record counts across Ticket-to-Case, Customer-to-Contact/Account, and Conversation-to-EmailMessage mappings. We spot-check 25-50 randomly sampled records against the Stames source for field-level accuracy, channel attribution, and timestamp preservation. The customer signs off on the Sandbox migration before we proceed to production. Mapping corrections, picklist value additions, and any custom field type adjustments happen here.
Owner and agent user provisioning validation
We extract every distinct Stames agent account and match by email against the destination Salesforce org's User table. Any Stames agent without a matching Salesforce User is placed in a reconciliation queue, and the customer's Salesforce admin provisions the missing User records before production migration begins. OwnerId references on Case records are required for standard Salesforce assignment rules to function, so this step gates all subsequent record imports.
Production migration in dependency order
We execute production migration in record-dependency order: Salesforce Users (validated), Accounts (from Stames Customers with company names), Contacts (with AccountId resolved), Cases (with OwnerId resolved from the User mapping), EmailMessage records (with parentId pointing to the Case Id, ordered by timestamp), Salesforce Files (ContentVersion and ContentDocumentLink linked to Cases), custom object records (after parent records confirmed), and tag values (populated via multi-select picklist after Case records are inserted). We use the Salesforce Bulk API 2.0 for EmailMessage records with batch chunking, exponential backoff on rate-limit responses, and parent-record lookup resolution. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and portal and automation handoff
We freeze Stames write access during cutover and run a final delta migration of any records created or modified during the migration window. We validate Case status distribution, Contact-Account linkage, EmailMessage thread integrity, and file attachment accessibility in the production Salesforce org. We deliver the written inventory of self-service portal configuration items, notification triggers, and SLA enforcement gaps to the customer's admin team. We support a one-week hypercare window for reconciliation issues. We do not rebuild Stames notification triggers as Salesforce Flow inside the migration scope; that is a separate engagement or internal admin task.
Platform deep dives
Stames
Source
Strengths
Weaknesses
Salesforce Service Cloud
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 1 of 7 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Stames and Salesforce Service Cloud.
Object compatibility
1 of 7 objects need a manual workaround.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Stames: Not publicly documented.
Data volume sensitivity
Stames doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Stames to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Stames to Salesforce Service Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Stames
Other ways to arrive at Salesforce Service Cloud
Same-Helpdesk migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.