Skip Navigation
Show nav
Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
Hide categories

Categories

  • Heroku Architecture
    • Compute (Dynos)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Developer Tools
    • Command Line
    • Heroku VS Code Extension
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery & Integration (Heroku Flow)
    • Continuous Integration
  • Language Support
    • Node.js
      • Troubleshooting Node.js Apps
      • Working with Node.js
      • Node.js Behavior in Heroku
    • Ruby
      • Rails Support
      • Working with Bundler
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Background Jobs in Python
      • Python Behavior in Heroku
      • Working with Django
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Working with Maven
      • Working with Spring Boot
      • Troubleshooting Java Apps
    • PHP
      • Working with PHP
      • PHP Behavior in Heroku
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
      • Migrating to Heroku Postgres
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • Other Data Stores
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • Inference Essentials
      • AI Models
    • Vector Database
    • Model Context Protocol
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
      • Single Sign-on (SSO)
    • Private Spaces
      • Infrastructure Networking
    • Compliance
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Collaboration
  • Collaborating with Other Developers on Your App

Collaborating with Other Developers on Your App

English — 日本語に切り替える

Last updated November 08, 2023

Table of Contents

  • Collaborator permissions for apps in an Online or Enterprise Team
  • Collaborator permissions for apps in a personal account
  • Add collaborators
  • View collaborators
  • Remove collaborators
  • Merging code changes

This article shows app owners how to share their app with collaborators.

If you are a collaborator, see Getting Started as a Collaborator.

Collaborator permissions for apps in an Online or Enterprise Team

Collaborators are team members with a “collaborator” permission. They can perform any action that an owner can, if they have the right app permissions. As an example, a user with the “collaborator” permission in an Enterprise Team can only delete an app if they have “manage” permission on that application.

For Heroku Teams using Heroku Enterprise, please visit the App permissions article to learn more about app permissions and capabilities. For other Heroku Team accounts, please see the Heroku Teams article section that talks about managing permissions.

Collaborator permissions for apps in a personal account

Collaborators added to apps under personal accounts can perform any action that an owner can, except collaborators can’t:

  • Add or remove paid add-ons
  • Delete, transfer, or rename the app
  • View invoices

These are the only actions that are restricted. Collaborators can perform any other action that an owner can, including scaling applications.

Add collaborators

Other developers can be invited to collaborate on your app by their email address.

$ heroku access:add joe@example.com
Adding joe@example.com to myapp collaborators... done

To use the dashboard to add a collaborator:

  1. Select the app in the dashboard.
  2. Click the Access tab.
  3. Click the Add collaborator button.
  4. In the New collaborator window, type their email address.
  5. Click Save changes.

When you invite a collaborator, an email is sent to let them know they were granted access to the app. If no existing Heroku account matches the email specified, an invitation email is sent.

View collaborators

Use the heroku access command to see the list of current collaborators:

$ heroku access
=== theirapp Collaborators
adam@example.com owner
joe@example.com  collaborator

Remove collaborators

You can revoke a collaborator’s access using the heroku access:remove command:

$ heroku access:remove joe@example.com
Removing joe@example.com from theirapp collaborators... done

To use the dashboard to remove a collaborator:

  1. Select the app in the dashboard.
  2. Click the Access tab.
  3. Click the x beside the collaborator’s email address.
  4. Click Delete Collaborator.

Once access has been revoked, the user is no longer able to deploy changes or modify the app’s configuration.

Merging code changes

When you’re collaborating with other developers, you might be prevented from pushing to the repo and see a message like this:

$ git push heroku
error: remote 'refs/heads/master' is not a strict subset of local ref 'refs/heads/master'.
maybe you are not up-to-date and need to pull first?

This means that other developers have pushed up changes that you need to pull down and merge with your local repository. The easiest way to do this is to run git pull --rebase. Ensure your changes don’t conflict with what you pulled down before deploying.

Keep reading

  • Collaboration

Feedback

Log in to submit feedback.

Transferring Apps Getting Started as a Collaborator

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices