Cross Team Access


Appen's Cross-Team Access feature allows users to belong to multiple teams within an organization and across multiple organizations using just one login. This article outlines how to get started and what actions are available to whom.

Note: If you have any questions about this feature, please reach out to your Customer Success Manager or the Appen Platform Support Team (via chat or creating a support ticket) for assistance.

The Benefit

Many users work among different types of teams. Sometimes these teams are based around objectives, sometimes they’re different departments. With Cross-Team Access, Appen users can easily switch context to another team within the platform without having to create multiple accounts. 

What's Available to Users

Different types of users within a team or organization will have different permissions. Below are outlined the different roles and what they can do. Users may have different roles (read-only, standard, or team admin) in each of the teams they belong to. In these cases, permissions will be dependent upon which team they are currently acting in (and the role they have in that team).

Read-Only Member

Read-only members do not have any edit permissions associated with their role. These users can not create or edit Jobs or Projects. The users can:

  • View team members' jobs
  • View jobs dashboards and settings
  • Download results

Standard Member

Standard users have edit permissions associated with their role. These users can do standard actions such as:

  • Create and launch jobs
  • Add funds to the team
  • View team members’ jobs

Team Admin

Team admins can do everything a standard user can do, plus the following:

  • Invite members to the team
  • View the standard job cost report
  • If enabled, view Enterprise Analytics for their team

Note: For Dedicated customers, this feature is currently not available On-Premises and only available via the cloud multi-tenant Appen Data Annotation Platform.

Org Admin

Org admins have the highest level of access within the organization. Their role provides the following:

  • Team admin-level access to every team in the organization
  • If enabled, Enterprise Analytics views of each team in the entire org
  • The ability to consolidate team member accounts

Accessing Multiple Teams

Switching your platform team

In order to change your current team, select from the teams you belong to from an icon in the global navigation. 


Fig. 1: Switching teams in Global Navigation

Your current team can be changed while on most pages in the platform with the exception of pages within jobs (e.g., Data, Design, Settings, etc). When inside a job, the option to change your current team is disabled.

Once a team is selected, all actions taken in the platform will be within the context of that team. 

Joining Multiple Teams

Org or team admins can add existing users from their org to other teams

How it works:

  1. If you are an org or team admin, select the team you would like to add users to by choosing the team from the global navigation (Account > Teams).
  2. Navigate to the Team page within the Account view.
  3. From there, invite new users to the team or add existing users from within the organization to this team.


Fig. 2: How org/team admins can invite new users to a specific team

Assigning Roles in a Team

Once the user has accepted the invitation to join the team, you can assign their roles by clicking on Edit Role, as in the screenshot below.


Fig. 3: Editing a Role

A modal will appear, allowing you to choose the role:


Fig. 4: Selecting a Role


Copying a Job to Another Team

Users can copy a job from one team to another team they belong to via the API or the UI. 

Important note: If the team the job belongs to is NDA-only, you will not be able to copy any data with the job (the option to copy a job with no rows will be available only).

Copy via the API

To copy a job to another team using the API, please see the “API updates” section below.

Copy via the UI

There are two places to copy a job to another team via the UI: from the jobs page and from within an individual job itself. The process for each is the same:

  1. On the jobs page, click the gear icon to the right of the job. From within a job, click the copy icon in the top right.
  2. Click ‘Copy Job'.
  3. A modal will open; select which team to copy into, whether it’s the current team the job belongs to or a different team you belong to.
  4. Select whether to copy with or without data.
  5. Click ‘Copy’.
    • If the job was copied into the current team, the page will redirect to the Data Page of the new job copy.
    • If the job was copied into a different team, you will need to switch your current team in the global navigation to view the job.


Fig. 5: Copying a job to another team via the UI

Consolidating Accounts

An Org admin will be able to assist if a user has multiple accounts that should be consolidated. In order to do so, the org admin can follow the steps outlined below. 

Note: You can view who your Org admins are by going to Account page > Team in the global navigation. This page will display the Role type for each user.

  1. Navigate to the ‘Members’ page within the Account view (the current team selected does not matter).
  2. Find the account that you want to be your main account (this will be the only account after consolidation), i.e., the account you will consolidate others into
    • They can use the search bar or paginate through the list. 
  3. Hover over the account row in the table and click the Consolidate icon.
  4. A modal will appear. Type the emails of the accounts into the search field and select accounts that you want to be consolidated with the main account. 
    • Multiple accounts can be selected at a time.
  5. Confirm the consolidation. Account consolidation cannot be undone. 


Fig. 6: How org admins can consolidate user accounts

Once accounts are consolidated, the following will occur: 

  1. The main account will inherit team membership from each account, along with the specified role (read-only, standard, or team admin) each account had on their respective teams.
  2. The jobs from each account will remain associated with and accessible to the teams they originally belonged to, but be found within the context of the main account.
  3. The original accounts will still exist but will not have any jobs attached to them. 

API Updates

We’ve updated some of our API endpoints to support Cross-Team Access. For a full guide to our platform API, please visit our API documentation.

Setting your API team

To build out an integration with our API, you’ll need to set your API team. This ensures that all commands you run through the API will be run within the context of that team. This can be updated at any time by using the same endpoint. If you do not set your API team, API requests will default to your current team as selected in the UI.

First, you will need to retrieve the IDs of all teams you belong to, which can be done using the following command:

curl -s -X GET "{api_key}"

You’ll receive an array of team IDs and their names following the sample response below:



    "id": "12345678-cccc-1234-dddd-123456789012",

    "name": "Team 1"



    "id": "98769568-dddd-4321-eeee-987654321098",

    "name": "Team 2"



    "id": "28594012-eeee-5678-ffff-657895431209",

    "name": "Team 3"



Using the array that is returned, you can choose the team you wish to set as your API team by executing the following command:

curl -X POST{team_id}?key={api_key}

Where {team_id} corresponds to the team to be set as your API team.

To check your current API team, you can use this command:

curl -X GET "" -d "key={api_key}"

Updated API Endpoints

Creating a job with an optional team ID

Even once an API team is set, jobs can still be created via the API for other teams you belong to; you will simply need to pass the team ID to which the job will belong:

Create a job without data:

curl -X POST --data-urlencode "job[team_id]={team_id}"{api_key}

Create a job with data: 

curl -X POST -T "{file_name}.csv" -H "Content-Type: text/csv" "job[team_id]={team_id}"{api_key}

Where {team_id} is the team the job will be created in and {file_name} is the name of the file that will be uploaded to the job.

Copying a job to another team

To copy a job to another team via the API, you can execute one of the following commands:

Copy with no rows:

curl -X GET "{job_id}/copy.json?key={api_key}&team_id={team_id}"

Copy with all rows:

curl -X GET "{job_id}/copy.json?key={api_key}&all_units=true&team_id={team_id}"

Copy with test questions only: 

curl -X GET "{job_id}/copy.json?key={api_key}&gold=true&team_id={team_id}"

Where {team_id} is the destination team the job will be copied into.

Was this article helpful?
7 out of 7 found this helpful

Have more questions? Submit a request
Powered by Zendesk