Import / Export

Bulk import data into Rally CRM from CSV files or export your data as CSV or Excel (XLSX) files. Use the template endpoints to download correctly formatted CSV files for each entity type, then upload populated files to import records in bulk.

Contacts

GET
/api/v1/importexport/contacts/exportExport contacts as CSV
GET
/api/v1/importexport/contacts/export/excelExport contacts as XLSX
POST
/api/v1/importexport/contacts/importImport contacts from CSV
GET
/api/v1/importexport/contacts/templateDownload CSV template

Companies

GET
/api/v1/importexport/companies/exportExport companies as CSV
GET
/api/v1/importexport/companies/export/excelExport companies as XLSX
POST
/api/v1/importexport/companies/importImport companies from CSV
GET
/api/v1/importexport/companies/templateDownload CSV template

Deals

GET
/api/v1/importexport/deals/exportExport deals as CSV
GET
/api/v1/importexport/deals/export/excelExport deals as XLSX
POST
/api/v1/importexport/deals/importImport deals from CSV
GET
/api/v1/importexport/deals/templateDownload CSV template

Activities

GET
/api/v1/importexport/activities/exportExport activities as CSV
GET
/api/v1/importexport/activities/export/excelExport activities as XLSX
POST
/api/v1/importexport/activities/importImport activities from CSV
GET
/api/v1/importexport/activities/templateDownload CSV template

Import Response

All import endpoints return a summary of the operation, including how many rows were successfully imported and any errors encountered.

ImportResultDto

PropertyTypeRequiredDescription
totalRowsintTotal number of rows processed from the CSV file
importedintNumber of rows successfully imported
skippedintNumber of rows skipped due to duplicates or validation errors
errorsList<string>List of error messages describing why specific rows were skipped
{
  "totalRows": 150,
  "imported": 142,
  "skipped": 8,
  "errors": [
    "Row 12: Invalid email format 'not-an-email'",
    "Row 34: Duplicate contact with email 'john@acme.com'",
    "Row 67: Required field 'first_name' is empty",
    "Row 89: Invalid lifecycle_stage value 'prospect'",
    "Row 91: Company 'Unknown Corp' not found",
    "Row 103: Invalid date format in 'expected_close_date'",
    "Row 118: Duplicate contact with email 'jane@acme.com'",
    "Row 145: Required field 'last_name' is empty"
  ]
}

CSV Column Headers

Use the template endpoints to download a pre-formatted CSV file for each entity type. Below are the expected column headers for each entity. Required columns are marked accordingly.

Contacts

Column HeaderDescription
first_nameContact first name
last_nameContact last name
emailEmail address
phonePhone number
mobileMobile phone number
titleJob title
departmentDepartment
company_nameAssociated company (matched by name)
addressStreet address
cityCity
stateState or province
countryCountry
postal_codeZIP or postal code
lifecycle_stageLifecycle stage (e.g., lead, customer)
lead_sourceHow the lead was acquired
tagsComma-separated tags
notesAdditional notes

Companies

Column HeaderDescription
nameCompany name
domainCompany website domain
industryIndustry sector
descriptionCompany description
employee_countNumber of employees
annual_revenueAnnual revenue
phonePhone number
websiteCompany website URL
addressStreet address
cityCity
stateState or province
countryCountry
postal_codeZIP or postal code
tagsComma-separated tags
notesAdditional notes

Deals

Column HeaderDescription
nameDeal name
valueDeal monetary value
currencyCurrency code (e.g., USD, EUR)
probabilityWin probability (0-100)
expected_close_dateExpected close date (ISO 8601)
stage_namePipeline stage name
pipeline_namePipeline name
contact_emailAssociated contact (matched by email)
company_nameAssociated company (matched by name)
notesAdditional notes

Activities

Column HeaderDescription
activity_typeType (call, meeting, task, email, note)
subjectActivity subject line
bodyActivity description or body text
scheduled_atScheduled date/time (ISO 8601)
completed_atCompletion date/time (ISO 8601)
statusStatus (pending, completed, cancelled)
priorityPriority level (low, normal, high, urgent)
due_dateDue date (ISO 8601)
contact_emailAssociated contact (matched by email)
company_nameAssociated company (matched by name)
deal_nameAssociated deal (matched by name)

Examples

Export Contacts as CSV

# Export contacts as CSV and save to file
curl -o contacts.csv \
  "https://your-tenant.rallycrm.io/api/v1/importexport/contacts/export" \
  -H "X-Api-Key: rk_live_your_api_key_here"

# Export contacts as Excel
curl -o contacts.xlsx \
  "https://your-tenant.rallycrm.io/api/v1/importexport/contacts/export/excel" \
  -H "X-Api-Key: rk_live_your_api_key_here"

# Download the CSV template
curl -o contacts_template.csv \
  "https://your-tenant.rallycrm.io/api/v1/importexport/contacts/template" \
  -H "X-Api-Key: rk_live_your_api_key_here"

Import Contacts from CSV

# Import contacts from a CSV file
curl -X POST \
  "https://your-tenant.rallycrm.io/api/v1/importexport/contacts/import" \
  -H "X-Api-Key: rk_live_your_api_key_here" \
  -F "file=@contacts.csv"

Import Tips

  • Download the template first to ensure your CSV has the correct column headers and format.
  • Dates should use ISO 8601 format (e.g., 2025-06-15 or 2025-06-15T14:30:00Z).
  • Company and contact associations are matched by name or email. Ensure the referenced records already exist in Rally.
  • Files must be UTF-8 encoded. Maximum file size is 10 MB.

Next Steps

Rally Support

We typically reply in a few hours

Hi! 👋 How can we help you today?