You'll import these core concepts from Salesforce to Customer Service Management:
In Salesforce, contacts are individual people associated with business accounts. In Customer Service Management, these become customers.
Salesforce has two types of accounts that require different integration approaches:
Business accounts: Standard company accounts that group contacts together. These map directly to Customer Service Management organizations.
Person accounts: Individual people stored as accounts (combines contact and account data). This concept doesn't exist in Customer Service Management - you'll need to decide whether to integrate these as:
Salesforce has predefined fields for contacts, business accounts, and person accounts. Customer Service Management has some default detail fields, but you'll need to create additional ones to match the Salesforce fields you use.
Default customer detail fields in CSM:
Default organization detail fields in CSM:
Note: The "Type" field exists for both customers and organizations with the same preconfigured values, but these can be customized. These preconfigured values are: Customer, Prospect, Partner, Supplier/Vendor, Other.
Any Salesforce fields beyond these defaults will need custom detail fields created in Customer Service Management.
Available detail field types you can create:
TEXT - Single-line text inputEMAIL - Email addresses with validationURL - Website links with validationDATE - Date, with YYYY-MM-DD format when being defined using an APINUMBER - Numeric values (integers and decimals)BOOLEAN - True/false or yes/no valuesPHONE - Phone numbers with validationSELECT - Single-choice dropdown (up to 2,000 options)MULTISELECT - Multiple-choice selection (up to 2,000 options)New to Customer Service Management? Start with the getting started guide.
Export from Salesforce
Export contacts, business accounts, and person accounts, and the fields and values you wish to copy to CSM.
Create detail fields in Customer Service Management
Before importing data, create all the detail fields you will need in CSM. You can learn about how to do this in the documentation on managing customer detail fields. You can also use the following APIs:
Customer detail fields: Use the create customer detail field API to create fields that will store information about individual customers.
Organization detail fields: Use the create organization detail field API to create fields that will store information about businesses and companies.
Learn more about managing customer detail fields in the documentation on managing customer detail fields.
Import customers Use the Bulk customer profile management API to create customers with details.
Import organizations Use the Bulk organization profile management API to create organizations with details and associated customers.
Additional bulk operations:
Example customer import:
1 2{ "customers": [ { "operationType": "CREATE", "payload": { "email": "john.doe@acme.com", "displayName": "John Doe", "details": [ {"name": "Title", "values": ["Sales Manager"]}, {"name": "Region", "values": ["North America"]}, {"name": "Type", "values": ["Customer"]} ], "associateOrganizations": [123] } }, { "operationType": "CREATE", "payload": { "email": "jane.smith@company.com", "displayName": "Jane Smith", "details": [ {"name": "Title", "values": ["CTO"]}, {"name": "Region", "values": ["Europe"]}, {"name": "Type", "values": ["Prospect"]} ], "associateOrganizations": [456] } }, { "operationType": "CREATE", "payload": { "email": "mike.wilson@startup.com", "displayName": "Mike Wilson", "details": [ {"name": "Title", "values": ["Founder"]}, {"name": "Region", "values": ["Asia Pacific"]}, {"name": "Type", "values": ["Partner"]} ], "associateOrganizations": [789, 123] } } ] }
Example organization import:
1 2{ "organizations": [ { "operationType": "CREATE", "payload": { "name": "Acme Corporation", "details": [ {"name": "Type", "values": ["Customer"]}, {"name": "Industry", "values": ["Technology"]}, {"name": "Website", "values": ["https://acme.com"]}, {"name": "Annual Revenue", "values": ["10000000"]} ] } }, { "operationType": "CREATE", "payload": { "name": "Planets Solutions Ltd", "details": [ {"name": "Type", "values": ["Prospect"]}, {"name": "Industry", "values": ["Finance"]}, {"name": "Website", "values": ["https://planetssolutions.com"]}, {"name": "Annual Revenue", "values": ["5000000"]} ] } }, { "operationType": "CREATE", "payload": { "name": "Startup Innovations", "details": [ {"name": "Type", "values": ["Partner"]}, {"name": "Industry", "values": ["Technology"]}, {"name": "Website", "values": ["https://startup.com"]}, {"name": "Annual Revenue", "values": ["500000"]} ] } } ] }
All bulk API calls return a taskId. Check the status of the bulk operation with the GET task status API.
Learn more about monitoring bulk operations in Customer Service Management.
Authentication errors
Learn how to authenticate with Customer Service Management APIs and manage API tokens.
Data validation failures
Rate limiting
1 2import requests def import_salesforce_customers_batch(customers): """Import Salesforce contacts using bulk API""" url = "https://api.atlassian.com/jsm/csm/cloudid/{cloudId}/api/v1/customer/profile/bulk" headers = { "Authorization": "Bearer YOUR_TOKEN", "Content-Type": "application/json", "X-ExperimentalApi": "opt-in", "Idempotency-Key": uuid.uuid4(), } payload = { "customers": [{ "operationType": "CREATE", "payload": customer } for customer in customers] } response = requests.post(url, headers=headers, json=payload) return response.json().get("taskId") # Transform Salesforce data customers = [] for sf_contact in salesforce_contacts: # Handle Person Account decision if sf_contact["is_person_account"]: # Decide: migrate as customer or organization based on business logic pass customer = { "email": sf_contact["Email"], "displayName": sf_contact["Name"], "details": [ {"name": "Title", "values": [sf_contact["Title"]]}, {"name": "Phone", "values": [sf_contact["Phone"]]} ], "associateOrganizations": [sf_contact["AccountId"]] if sf_contact["AccountId"] else [] } customers.append(customer) # Migrate in batches of 100 for i in range(0, len(customers), 100): batch = customers[i:i+100] task_id = migrate_salesforce_customers_batch(batch) # Monitor task_id for completion
Additional resources:
Need help? Contact Atlassian support.
Rate this page: