An integration with the Import Data Type Initiatives/Projects creates initiatives from an Excel spreadsheet, and updates initiatives that already exist. Each row is one initiative: its name, classification, owner, start and end dates, the initiative it sits under, and optionally its custom fields, team roles, current stage and stage milestone dates. The integration is set up from the initiative's Tools > Integrations, by clicking New Integration, leaving the Adapter as Excel, and selecting Initiatives/Projects as the Import Data Type.
This article covers both the Advanced and Simple Models. It needs the Integrations permission on the initiative, as set out in Before you start. On the Simple Model, the rows create projects.
This is different from Administration > Integrations, which connects third-party applications. See Connecting a Third-Party Application.
Before you start
Who can import
Importing needs both of the following:
- Enable Integrations turned on for the initiative. On the Advanced Model, it is a setting on the initiative's classification, under General Configuration. See Configuring Initiative Classifications (Advanced Model). On the Simple Model, it is in the Integrations section of the program's Configuration > Features. See Program Features.
- The Integrations permission set to Full on a team role held on the initiative. See Team Roles. A Full Admin, or a user whose admin role sets Hierarchy to Full, can import without a team role. See Admin Roles.
Where either is missing, Integrations isn't offered under Tools.
What must exist first
The import doesn't create anything other than the initiatives. Set up the following before importing:
- Classifications — each initiative's classification must exist and be active. On the Advanced Model, it must also be allowed on the classification of the initiative it sits under. On the Simple Model, it must be one of the program's project classifications. A classification set up to represent dependencies can't be used. Programs can't be created by an import.
- Owners — each owner must be an existing, unlocked user, and not a guest user. On the Simple Model, the owner must also be on the Program team.
- Initiatives to sit under — on the Advanced Model, every initiative a row sits under must already exist. See Where each initiative is placed.
- Custom fields — a custom field must be mapped to the classification to be filled in, and any option a cell names must exist. See Custom Fields (Advanced Model) or Custom Fields (Simple Model).
- Team roles, stages and teams — only where the sheet has columns for them. A stage must belong to the stage gate process of the initiative's classification.
Where to set up the integration
Set the integration up on the highest initiative that holds every initiative in the file. Initiatives can only be created, or updated, at or below the initiative the integration is set up on. Anything outside it is refused, not moved. On the Simple Model, set it up on the program. A project has no Integrations menu.
File limits
- The file is an Excel file (.xlsx) of 5 MB or less.
- The sheet has up to 2,000 rows. The row of column headings isn't counted where Header? is selected. A sheet with more can't be run, so split it into several sheets or files.
- Only one sheet is read each time the integration runs. The sheet is chosen when the file is uploaded.
Preparing the spreadsheet
Put one initiative on each row, with a column for each field. A row of column headings at the top makes mapping easier. The columns can be in any order, but each integration remembers the mapping by column position, so keep the order the same from one run to the next.
Where each initiative is placed
Every initiative other than the top of the hierarchy sits under another initiative: the one at the level above it. An import places each created initiative under one, and it can't be moved by a later import.
- Advanced Model — each row names the initiative it sits under, in a column mapped as Parent Initiative. That initiative must already exist when the import runs, and it must be the initiative the integration is set up on or one beneath it. The classification of the initiative it sits under must also allow the row's classification, under Allowed Initiative Classifications. A row can't sit under an initiative created by another row in the same file, so import the upper level first and the next level in a second run.
- Simple Model — every project sits directly under the program the integration is set up on. The Parent Initiative type isn't offered, and the sheet needs no column for it.
Columns to create initiatives
A created initiative needs all of the following:
- Name — a name longer than 120 characters is shortened.
- Classification — matched on the classification's name or ID.
- Owner — matched on the user's name, email or ID.
- Start Date and End Date — see Dates.
- Parent Initiative — the initiative the row sits under. Advanced Model only. It can be matched on its name, Amplify ID or External ID.
Where the classification has required custom fields, include a column for each. A row that leaves one blank isn't created.
Columns to update initiatives
To update initiatives that already exist, include one column that identifies each initiative: its ID or its External ID. The other columns hold the fields to change. See Updating initiatives later.
Optional columns
- External ID — a reference from another system. It must be unique across initiatives, and it can be used later to find the initiative again. It is set only through the Identifier Lookup column.
- Description and the status fields — each is chosen from the Attribute list.
- Custom fields — one column for each custom field mapped to the classification.
- Team roles — one column for each team role, holding the user to add to the initiative's team.
- Team Mapping — projects only. The team to add the project to.
- Current stage — the stage gate stage the initiative is moved to.
- Stage milestone dates — one column for each stage whose milestone date is set.
Each of Classification, Owner, Parent Initiative, Identifier Lookup and Current Stage can be mapped to one column only. Each attribute, custom field, team role and stage milestone can also be mapped once.
Dates
Enter dates in a format that gives the year, month and day unambiguously, such as 2026-03-15. A cell that isn't a date shows a red icon.
- Start Date — moved to the first day of its month. A start of 15 March 2026 becomes 1 March 2026.
- End Date — moved to the last day of its month. An end of 10 August 2026 becomes 31 August 2026. It must be later than the start date.
On the Simple Model, a project's dates are controlled through its schedule. The dates are used only when a project is created. In an update, they are ignored and the cell shows an amber warning.
Creating the integration
To create the integration:
- Open the initiative the integration is set up on.
- Navigate to Tools > Integrations. The initiative's integrations are listed.
- Click New Integration.
- Enter a Name for the integration.
- Select Initiatives/Projects as the Import Data Type.
- Click Create.
The Adapter is always Excel.
Uploading the spreadsheet
To upload the spreadsheet:
- On the initiative's integrations, click Run... next to the integration. A window opens.
- Where the integration has been run before, select Upload New to choose a file, or Use Previous to use the last file again.
- Choose the file.
- Select Header? where the first row holds column headings.
- Select the Sheet that holds the initiatives.
- Click Continue. The session page opens, with the rows from the sheet.
The file must be an Excel file (.xlsx) of 5 MB or less, and the sheet can't exceed the row limit. Otherwise a message says so and Continue stays disabled. Only the last file uploaded is kept.
The session page runs a preview straight away. Map the columns as described in Mapping the columns, then click Preview again to check the mapping.
Mapping the columns
The columns are mapped on the session page that opens once the spreadsheet is uploaded. To map the columns:
- Click Edit Mapping. A header appears above each column.
- Select the Type for a column.
- Set the fields that appear for that type.
- Repeat for each column that is imported.
The mapping saves as you go. It is kept on the integration and applies by column position the next time the integration runs. A column left as No Action is ignored. A green tick on a column header means its mapping is valid. A red icon means it isn't, and hovering over it shows why.
Mapping types
- Attribute Assignment — puts the value into one of the initiative's fields, chosen from the Attribute list: Name, Start Date, End Date, Description and the status fields. Name, Start Date and End Date are required to create, once each, and are marked Required:. Fields that Amplify calculates or controls elsewhere, such as totals, progress and the initiative's active and confidential settings, aren't in the list.
- Classification — matches the classification of a created initiative. Required to create.
- Owner — matches a user as the initiative's owner. Required to create.
- Parent Initiative — matches the initiative a created initiative sits under. Required to create on the Advanced Model. It isn't offered where the integration is set up on a program.
- Identifier Lookup — finds an existing initiative to update. For a created initiative, the value becomes its External ID.
- Custom Field — puts the value into a custom field, chosen from the Custom Field list.
- Team Role — adds a user to the initiative's team in the role chosen in Team Role.
- Team Mapping — adds a project to a team of its program. Projects only.
- Current Stage — moves the initiative to a stage of its stage gate process.
- Stagegate Milestone Date — sets the date of a stage's milestone.
- No Action — leaves the column out of the import.
The session shows whether the mapping can create and update initiatives. Where it can't create, it lists the columns still needed. Until the mapping can either create or update, a message says the minimum requirement hasn't been met, and Preview and Import... are disabled.
Match on Attribute and fallbacks
For a column that is matched to existing records, Match on Attribute sets which field of the record the cell is compared with.
- Classification — Name or ID.
- Owner — Name, Email or ID.
- Parent Initiative — Name, Amplify ID or External ID. Matching on Name looks only at the integration's initiative and the initiatives beneath it.
- Identifier Lookup — ID or External ID.
- Team Role — the user's Name or Email.
- Team Mapping — the team's Name or ID.
- Custom Field — Value or Label, for a custom field with a list of options. Choose whether the cell holds the option's value or the label shown on screen. For a custom field that holds users, the choice is ID or Name.
A fallback gives a row a default when its cell is blank or has no match, so the row isn't skipped. A row that uses a fallback shows an amber warning.
- Fallback to Default Classification — uses the Default Classification you choose. The list shows the initiative classifications available at the integration's level. The default must still be allowed under the initiative the row sits under.
- Fallback to Default User — uses the Default User you choose as the owner, or as the team member for a Team Role column.
- Fallback to Default Initiative — places the row under the Default Initiative you choose. It must be at or below the initiative the integration is set up on.
Without a fallback, a row whose classification, owner or initiative isn't found isn't created. Capital letters and spaces around the value are ignored.
Custom fields
Map each custom field with the Custom Field type, and choose the field from the Custom Field list. The following apply to the values:
- A custom field that isn't mapped to the initiative's classification isn't set, and the cell shows a warning.
- For a field with a list of options, an option that doesn't exist isn't created. The field is left empty and the cell shows a warning. For a Multi-Select field, separate the options in a cell with commas.
- For a Reporting Group, a cell that doesn't match an option is shown as an error, not a warning. Reporting Groups apply to the Simple Model, and can't be changed on a program.
- Text that is longer than the field's maximum length is an error.
- Where the classification requires a custom field, a created initiative without a value for it fails.
- Entering null in a cell clears the field on an update.
Team roles and team mappings
- Team Role — select the role in Team Role, then the Match on Attribute. Map one column for each role. The user is added to the initiative's team with that role, and nobody is removed. The list shows the team roles available to the initiative's classification.
- Team Mapping — adds a project to a team of the program it sits under. Match the team on Name or ID. A row for anything other than a project fails.
Moving initiatives to a stage
Map a column as Current Stage to move each initiative to a stage of its stage gate process. The cell holds the stage's name. After mapping, choose the Advancing User, the user the move is made as. The column isn't valid until one is chosen, and only one Current Stage column can be mapped.
- The stage must belong to the stage gate process of the initiative's classification. A stage that isn't a main stage of the process, such as an alternate end stage, can't be used.
- An initiative can only move forward. Where an update names an earlier stage than the initiative's current stage, the stage is left as it is and the cell shows a warning.
- A program has no current stage, so the cell is skipped with a warning.
Setting stage milestone dates
Map a column as Stagegate Milestone Date to set the date of a stage's milestone, and choose the stage in Milestone. Map one column for each stage. The date is used as both the start and the end of the milestone.
- The classification needs Enable Tasks on, and a stage gate process. Otherwise the cell is skipped with a warning.
- The initiative's schedule must already hold a milestone linked to that stage. If it doesn't, the cell fails with a message that no task is associated with the stage. For importing tasks, see Importing Tasks.
- The preview checks the stage but not the milestone, so this error can appear for the first time when the import runs.
- Stage milestone dates aren't moved to the start or end of a month.
Previewing and importing
Previewing the import
The preview checks every row against Amplify and saves nothing. Each row shows a plus icon where it will create an initiative, or a pen icon where it will update one. A red icon on a cell marks a problem. Hover over it to read the message. An amber icon marks a warning, and the row still imports.
Where rows fail, a banner says how many rows were unsuccessful, such as "2 rows were unsuccessful." Click View these rows only. to show just those rows, and Show all rows. to return to the full list. Fix the file or the mapping, then preview again.
Import... is disabled while a preview, import or mapping change is running, while the mapping is invalid, and until the mapping can create or update initiatives. Rows with errors don't disable it.
Importing the initiatives
To import the initiatives:
- Click Import.... A confirmation opens.
- Click Confirm.
- Wait for the banner to report that the import has been completed.
- Click End Session. The integrations list opens.
An import can't be undone. Rows with errors aren't imported, but every other row is. To import the failed rows, fix them and import a file that holds only those rows. Otherwise the initiatives already imported are created a second time, unless the mapping has an Identifier Lookup.
Until the session is ended, the integration shows Terminate in place of Run... and can't be run again. If a session was left in progress, click Terminate on the integrations list to end it.
Updating initiatives later
The same integration can be run again with another file. To update initiatives that already exist, map a column as Identifier Lookup, matched on ID or External ID. Each row then works as follows:
- Where the value matches an initiative, the row updates it. The initiative must be active, and must be the integration's initiative or one beneath it.
- Where it matches no initiative and the mapping has every column needed to create one, the row creates an initiative. An External ID in the cell becomes the initiative's External ID. A mistyped identifier therefore creates an initiative instead of failing.
- Where it matches no initiative and the mapping can't create, the row fails.
- Where the cell is blank, the row creates an initiative.
Where ID is used and the value matches nothing, the row creates an initiative and the ID is ignored. The cell shows an amber warning.
An update changes only the mapped columns. A column set to No Action leaves its field as it is, and so does a blank cell. Three things can't change in an import:
- Classification — the column is skipped with a warning.
- Parent Initiative — the column is skipped with a warning. An initiative can't be moved to sit under another.
- Start Date and End Date on the Simple Model — ignored, because a project's dates are controlled through its schedule.
A Team Role column adds the user to the team, and doesn't change anyone else. A Current Stage column moves an initiative forward only.
Give each initiative an External ID and match on it with Identifier Lookup. The same file can then be run again to update the initiatives, and no initiative is created twice.
Duplicate External IDs
Where the Identifier Lookup is matched on External ID, each External ID can appear on one row only. If the same External ID appears on several rows and doesn't exist in Amplify yet, the first row creates the initiative and the later rows fail with a message that the External ID is the same on other rows. If the External ID already exists, every row with it updates that initiative.
Things to know
- Rows are checked against what is in Amplify when the import runs. Import the initiatives at one level before the initiatives that sit under them.
- To correct initiatives after an import, update them with another import that has an Identifier Lookup, or edit them in Amplify. Preview every file first, and try a few rows before importing a large file.
For an overview of imports, including importing other types of data, see Importing Data.