You are here:
Upload Plan Assignments in Salesforce Spiff
Manage large plan updates in Salesforce Spiff by bulk-uploading plan assignment records.
Required Editions
| Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience |
| Available in: Enterprise, Unlimited, and Developer Editions |
| Available for an additional cost in: Professional Edition with Web Services API Enabled |
| User Permissions Needed | |
|---|---|
| To upload plan assignments: | A Spiff user role with these permissions turned on.
|
Plans must be created before uploading plan assignments. The plan assignment template contains five fields. Two fields are required for import.
| Field | Description |
|---|---|
| user_id | The external ID of the user being assigned to a plan. This value can be found in the Users table in the User External Id column. |
| effective_as_of | Determines the start date of the plan assignment. Dates must be in the YYYY-MM-DD format. This value can be updated in the UI after upload. |
| effective_until | Determines the end date of the plan assignment. Dates must be in the YYYY-MM-DD format. This value can be updated in the UI after upload. |
| external_id | The unique identifier for each plan assignment, since a user can be assigned multiple plans. Duplicate entries overwrite the existing plan assignment. The same ID must be used when updating plan assignments or creating a new record. This value can be updated in the UI after upload. If you don’t use the external_id, remove this field from the column header. |
| plan_name | The plan to which the rep is assigned. The plan must already exist in the system or the record will error. |
- In the Admin menu, select Users (1).
-
Click Plan Assignments in the left panel (2).
-
Download the example template.
- Click the upload button near the top-right corner of the screen (3).
- Click Download the example file on the modal.
-
Add new plan assignment records to the file.
- To edit the file manually, open the example .csv file in a text editor, and add the new plan assignment records to the file.
- If you use a spreadsheet program like Microsoft Excel to add your plan assignment information, apply the correct date formatting. Because date formats change when the .csv file is opened in Excel, revert the format to the correct YYYY-MM-DD format by placing a ' mark at the front of the date. For example, the 1/1/2025 date can be updated to the correct format by entering '2025-01-01 in the cell.
When you edit the file, don't edit the field headers on the template. Make sure that the two required fields are specified for each record. Delete the example records or they’ll be uploaded to the system. Although the field isn’t required, we highly recommend creating a unique external_id for each plan assignment record. This ensures a smooth process if you anticipate updating records by bulk upload. Use the same external_id for records you attempt to update through upload. If you don’t use the external_id, remove this field from the column header. -
(Optional) Edit existing plan assignment records.
- Apply a Plan Assignment External Id to any lines that don't already have one entered.
- Download the Plan Assignment table by clicking the download icon in the top right of the table (3) to export a .csv file of all existing user records in the system.
- For any record that needs changing, edit the Effective As Of, Effective Until, or any custom field entries.
- Copy the updated records from this table and paste them into the example file.
-
Upload the file.
- Click the upload button near the top-right corner of the screen (3).
-
Click Browse your computer or drag and drop the
file.
A notification appears indicating the upload is in progress.
-
Click the link to navigate to the File Import Status page.
You can access this page by clicking the "i" indicator on the table settings (5).
The File Import Status table shows information about each upload. It includes important information like Status (Complete or Imported with Errors), Validation Alerts that link to the error message, and timestamps of the imports. If a file contains errors, only the records with errors are rejected.
Did this article solve your issue?
Let us know so we can improve!

