Get Started

Introduction

Whether you are building an integration with Procore to submit to our App Marketplace or building a custom integration specifically for your needs, the following guide will help you get started. At the end of this guide, you will know how to create your application in the Developer Portal, get your keys, generate your access tokens, and make your first successful API call.

Create an Application

When you are building an integration with Procore and need to start accessing the Procore Connect API, the first step is to ‘Create an Application’ in the Developer Portal. This is a simple process which you can complete in a few easy clicks.

  1. Sign-up for a Procore Developer Portal Account.
  2. Navigate to the My Apps page and click ‘Create a New App’. The Create New App dialog displays.
  3. Enter an App Name, a meaningful Description, select an Integration Type, and select a Category for your application. Click Create.
  4. The App Details page displays, showing all the pertinent information regarding your new application. This page is broken down into the following sections:
    • App Settings - View/update the 'App Name', 'Description', 'Category', 'Integration Type', 'Support Email', 'Support URL', and 'Support Phone'. You can also upload a logo for your application in this section.
    • App Credentials - Retrieve the 'Client ID' and 'Client Secret' for your application, which you will need in order to authenticate with the Procore Connect API. Update the OAuth Redirect URI(s) as needed.
    • Sandbox Account - Generate a Sandbox Account for use in developing and testing your application.
    • Manage Collaborators - As the application owner, you can optionally invite other users (including developers and admins) to collaborate on your application and set permissions to invitees as you choose.
    • Delete this App - Remove your application from the Developer Portal.

Note regarding Redirect URI - By default, the redirect URI of your app is set to http://localhost for the purpose of testing. You should configure your port and relative path based on your application. (e.g., use http://localhost:8080/oauth/procore/callback for development). You can enter multiple redirect URIs separated by a space. If your application is an installed application (i.e., without a browser - used for running cron-jobs, scripts, etc.) you should use the special redirect URI urn:ietf:wg:oauth:2.0:oob.

Generate a Sandbox Account for Development

Once you have created your application you can elect to generate a sandbox to support your development activities. Use the following steps to generate your development sandbox.

  • Log in to the Developer Portal and navigate to ‘My Apps’.
  • Click the tile for the App that you want to create a sandbox for.
  • In the Sandbox Account panel, click ‘Generate Sandbox’. A confirmation dialog displays.
  • Click ‘Generate Sandbox’ again to confirm the generation of your sandbox.

It will take approximately 10 to 20 minutes to create your sandbox. You will receive an email notifying you regarding the availability of your sandbox, as well as the URL to set your password in the sandbox environment. Once your sandbox has been successfully generated and your password has been set, you can:

  1. Follow the Concierge account creation process to fill the sandbox company with seed data
  2. Retrieve your client_id and client_secret API keys for your sandbox from the Developer Portal
  3. Retrieve an access token and refresh token for use with OAuth authentication
  4. Retrieve the URL for your sandbox environment
  5. Access your sandbox Company using your Developer Portal login username (email address) and your recently set password
  6. Add and modify data in your sandbox environment using the Procore Web UI
  7. Make Procore Connect API calls to your sandbox environment

Note: On your first login attempt to your new sandbox Company you will be prompted to set your password for Procore access. This does not affect your Developer Portal password. See Development Sandbox Generation for additional information.