From 4c01453ebb7bd869b58703765863c479b3bce288 Mon Sep 17 00:00:00 2001 From: Andrew Hemry Date: Fri, 28 Mar 2025 17:19:06 -0500 Subject: [PATCH 1/2] Adding Partner Content and Updating Collab Section --- _data/navigation.yml | 4 +- app_marketplace/procore_partner_overview.md | 130 ++++++++++++++---- .../update_your_marketplace_app.md | 113 ++++++++------- assets/css/main.css | 62 +++++++++ assets/guides/app-validation.svg | 22 +++ assets/guides/create-app.svg | 22 +++ assets/guides/customer-testing.svg | 41 ++++++ assets/guides/explore-procore.png | Bin 0 -> 10624 bytes assets/guides/market-app.svg | 35 +++++ assets/guides/partner-program.svg | 31 +++++ assets/guides/prepare-listing.svg | 29 ++++ assets/guides/publish-listing.svg | 31 +++++ .../building_apps_manage_collabs.md | 104 +++++++++----- overview/quick_start_guide.md | 2 +- platform_concepts/procore_product_overview.md | 19 +-- 15 files changed, 529 insertions(+), 116 deletions(-) create mode 100644 assets/guides/app-validation.svg create mode 100644 assets/guides/create-app.svg create mode 100644 assets/guides/customer-testing.svg create mode 100644 assets/guides/explore-procore.png create mode 100644 assets/guides/market-app.svg create mode 100644 assets/guides/partner-program.svg create mode 100644 assets/guides/prepare-listing.svg create mode 100644 assets/guides/publish-listing.svg diff --git a/_data/navigation.yml b/_data/navigation.yml index 0083802..f0027ba 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -20,7 +20,7 @@ - title: Platform Concepts items: # - title: Procore Product Overview - # url: /procore-product-overview - WIP + # url: /procore-product-overview - title: Overview url: /object-model-overview # - title: General Resources @@ -141,7 +141,7 @@ items: # - title: Marketplace Overview # url: /procore-marketplace-overview - NOT NEEDED 404 error - - title: Procore Partner Overview + - title: Marketplace & Partner Overview url: /procore-partner-overview - title: Getting Started & Requirements url: /marketplace-requirements diff --git a/app_marketplace/procore_partner_overview.md b/app_marketplace/procore_partner_overview.md index 4d3a5bc..5ba9c1e 100644 --- a/app_marketplace/procore_partner_overview.md +++ b/app_marketplace/procore_partner_overview.md @@ -1,15 +1,15 @@ --- permalink: /procore-partner-overview -title: Procore Partner Overview -sub_header: Learn about the benefits, requirements, and steps to join the Procore Technology Partner Program. +title: Marketplace & Partner Overview +sub_header: Learn about listing an app on the Procore Marketplace, and steps to join the Procore Technology Partner Program. layout: default section_title: App Marketplace --- ## Introduction -The Procore Technology Partner Program empowers partners to integrate their solutions with Procore, showcasing their apps on the Procore Marketplace. By becoming a partner, you join a community dedicated to advancing construction management through integrated, cloud-optimized solutions that enhance project workflows, increase efficiency, and scale businesses. +Listing an app on the Procore Marketplace is reserved for Procore Partners, who are required to join the Procore Technology Partner Program. By becoming a partner, you join a community dedicated to advancing construction management through integrated, cloud-optimized solutions that enhance project workflows, increase efficiency, and scale businesses. -This page provides an overview of the benefits, requirements, and steps to join the program, helping you get started with listing your integration on the Procore Marketplace. +This page provides an overview of how to list an app on the Procore Marketplace, outlines the steps to join the Procore Partner Program, and highlights its benefits—helping you get started with listing your integration on the Marketplace.

*** @@ -34,26 +34,108 @@ There are no fees to join the Procore Technology Partner Program at this time. W

*** -## Steps to Join the Partner Program +## Procore Tech Partner Journey: Step-by-Step Guide -
    -
  1. Sign up for an Account
  2. - Create your account through the Procore Developer Portal to access the tools needed to build and manage your app. -

    -
  3. Explore the Developer Sandbox & Build Your App
  4. - Experiment with Procore’s API by creating an app and testing it in your Developer Sandbox. Familiarize yourself with Procore’s capabilities and app framework, and gather feedback from mutual customers to refine your solution. -

    - In addition to the Developer Sandbox, leverage our self-service learning offerings through our Help & Learning Center. -

    -
  5. Submit Your Request for Partner Review
  6. - Initiate the review process by selecting 'Become a Partner' within the Marketplace Listing tab in your app. -

    -
  7. Agree to the Partnership Agreement
  8. - After passing review, sign or accept the Procore Partner Agreement sent to your email to officially join the program. -

    -
  9. Finalize & Publish Your App
  10. - Once approved as a partner, gather feedback from from a beta customer to finalize your initial app version, then submit your app to be published on the Procore Marketplace, making it accessible to thousands of potential users. -
+
+
+ +
+
+
+ Explore Procore icon +
+
+
+

01. EXPLORE PROCORE

+

Familiarize yourself with the Procore Platform, our developer tools, and our partner programs.

+
+
+ +
+
+
+ Create App Procore icon +
+
+
+

02. CREATE AN APP

+

Sign up for a Developer account to build your app and use the Procore Sandbox to test in a dedicated environment.

+
+
+ +
+
+
+ Customer Testing Procore icon +
+
+
+

03. CUSTOMER TESTING

+

Engage with mutual customers to test your app's features and gather feedback to finalize your initial app version.

+
+
+ +
+
+
+ Partner Program Procore icon +
+
+
+

04. JOIN THE PARTNER PROGRAM

+

Complete partner vetting and sign our Partnership Terms to become a Partner.

+
+
+ +
+
+
+ Prepare Listing Procore icon +
+
+
+

05. PREPARE YOUR LISTING

+

Prepare your public-facing Marketplace listing to highlight your app's unique value.

+
+
+ +
+
+
+ App Validation Procore icon +
+
+
+

06. APP VALIDATION

+

Ensure your app meets Procore's quality, security, and compliance standards through our validation process.

+
+
+ +
+
+
+ Publish App Procore icon +
+
+
+

07. PUBLISH YOUR APP

+

Celebrate success! Your app goes live on the Marketplace upon passing validation.

+
+
+ +
+
+
+ Market App Procore icon +
+
+
+

08. PROMOTE YOUR APP

+

Leverage Procore's co-marketing resources to promote your app and engage customers.

+
+
+
+

*** @@ -70,7 +152,7 @@ There are no fees to join the Procore Technology Partner Program at this time. W Procore Technologies reserves the right to revise the Developer Documentation at any time, in its sole discretion. -As described in the applicable terms and conditions, Procore may remove or decline the publication of anyMarketplace Listing at any time. +As described in the applicable terms and conditions, Procore may remove or decline the publication of any Marketplace Listing at any time. diff --git a/app_marketplace/update_your_marketplace_app.md b/app_marketplace/update_your_marketplace_app.md index a118a95..43cf5e0 100644 --- a/app_marketplace/update_your_marketplace_app.md +++ b/app_marketplace/update_your_marketplace_app.md @@ -7,88 +7,105 @@ section_title: App Marketplace --- ## Introduction -As your app evolves over time, you may need to update its functionality, content, Marketplace Listing, or app features. You can update these items anytime in your app through the Procore Developer Portal. -It's important to note that you need to submit these changes to be reviewed and approved by the Procore Marketplace team. While changes to your source code itself do not require approval, any modifications that impact functionality or how your integration interacts with Procore must be reviewed. +As your app evolves, you may need to update its functionality, features, or Marketplace Listing. These updates can be made at any time through the Procore Developer Portal. + +If you’re unable to access the app in the Developer Portal, review [Managing App Collaborators]({{ site.url }}{{ site.baseurl }}{% link building_applications/building_apps_manage_collabs.md %}) to confirm your permissions or request access from your internal team. + +While changes to your app’s **source code** do not require approval, **any updates that impact functionality or how your app interacts with Procore must be submitted for review and approved by the Procore Marketplace team.**

*** -## Update Marketplace Listing -You can easily update the information shown on your Marketplace Listing directly in your app through the Procore Developer Portal. -It's important to note that you must have access to the corresponding app and have the appropriate role applied. If you do not see the app you wish to update after logging into the Procore Developer Portal, reach out to your internal team for them to invite you. +## Update Your Marketplace Listing + +You can update your app’s Marketplace Listing directly within the Procore Developer Portal. + +Before updating, make sure: +- You have access to the app +- You’re assigned an appropriate role (Admin or Owner) + +If you don’t see the app after logging in, ask your internal team to invite you.

- *** + ## Update App Functionality -If you wish to update your app's functionality or features, follow the steps below: -

+ +If you're adding new features or modifying existing functionality, follow the appropriate steps below. + +---
-Add Additional API Routes +Add API Routes

-To expand your app's functionality, explore additional API routes by referring to the Procore Rest API Overview. Identify the required routes for creating, updating, or reading data from Procore, and integrate them into your source code. -

-If your app uses the Service Account Authentication grant type, make sure to update the tool permissions to prevent errors. +To expand your app’s capabilities, you can integrate additional API routes. Refer to the Procore REST API Overview to identify relevant endpoints for reading, writing, or updating data. + +If your app uses the Service Account Authentication grant type, remember to update tool permissions to avoid errors or failed calls.

- + + +--> -***
-Updating Embedded & Iframe Properties +Update Embedded or Iframe Properties

-If you're considering updating your full-screen or side panel app by changing the URL source, adding additional views or incorporating parameter interpolation, follow these steps: +If you're changing your app’s embedded experience—such as modifying the iframe URL, adding views, or using parameter interpolation—follow these steps:

    -
  1. Access your app via the Procore Developer Portal and click the pencil icon to the right of the component you wish to edit.
  2. -
  3. Update the information as needed, such as changing the URL, selecting different views or adding parameter interpolation.
  4. -
  5. Select Save Component in the bottom right corner.
  6. -
  7. Click Save Version to confirm the changes and create a new version for the Developer Sandbox.
  8. -
  9. Test the changes by Installing Your App in the Developer Sandbox as a custom app.
  10. -
  11. When you're satisfied with the changes, click Promote Version to make the changes available in the production environment and then Submit for Review to notify the Procore Marketplace team for approval.
  12. +
  13. Open your app in the Developer Portal.
  14. +
  15. Click the pencil icon next to the embedded component you want to edit.
  16. +
  17. Update the required fields (e.g., iframe URL, views, interpolation parameters).
  18. +
  19. Click Save Component.
  20. +
  21. Click Save Version to commit your changes and generate a new version for testing.
  22. +
  23. Test the update in your sandbox by installing the app as a custom app.
  24. +
  25. Once you're satisfied with the results, click Promote Version to apply the changes to the production environment, then Submit for Review for approval.

-*** +--- +
Update App Tool Permissions

-If you're expanding your app's functionality, ensure you update the required permissions to prevent errors. Here's how to proceed based on your grant type: +If you're expanding your app’s scope, update its tool permissions based on the authentication method in use: +

-It's important to note that if your app uses a Service Account Authentication, it must adhere to the principle of least privilege, granting access only to the tools it integrates with and using the minimum required permissions. +> Apps using Service Account Authentication must follow the principle of least privilege—only requesting access to the tools and permissions essential to their function.

-
\ No newline at end of file + diff --git a/assets/css/main.css b/assets/css/main.css index 8cfa986..324e4c2 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -118,6 +118,68 @@ body { border-color: #D6DADC; } +/* Partner Program Steps */ +.steps-container { + /* border: 1px solid #e5e7eb; */ + /* border-radius: 8px; */ + padding: 24px; + /* margin-bottom: 20px; */ +} + +.steps-grid { + display: flex; + flex-wrap: wrap; + gap: 24px; +} + +.step-item { + flex: 1 1 45%; + min-width: 300px; + display: flex; + gap: 16px; +} + +.step-icon { + flex-shrink: 0; + width: 64px; + height: 64px; + background-color: #fff3e0; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; +} + +.step-icon-inner { + width: 40px; + height: 40px; + background-color: #f0f0f0; + border-radius: 4px; +} + +.step-icon-inner img { + width: 40px; + height: 40px; + object-fit: contain; +} + + + +.step-content { + flex: 1; +} + +.step-title { + font-weight: bold; + margin-top: 0; + margin-bottom: 8px; + color: #ff6f00; +} + +.step-description { + margin-top: 0; +} + p img { max-width: 100%;} code, pre { diff --git a/assets/guides/app-validation.svg b/assets/guides/app-validation.svg new file mode 100644 index 0000000..d68bf62 --- /dev/null +++ b/assets/guides/app-validation.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/guides/create-app.svg b/assets/guides/create-app.svg new file mode 100644 index 0000000..cffc1dd --- /dev/null +++ b/assets/guides/create-app.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/guides/customer-testing.svg b/assets/guides/customer-testing.svg new file mode 100644 index 0000000..531b3b5 --- /dev/null +++ b/assets/guides/customer-testing.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/guides/explore-procore.png b/assets/guides/explore-procore.png new file mode 100644 index 0000000000000000000000000000000000000000..11ddada6cb4460a4593d2b36234b064ab98e4d36 GIT binary patch literal 10624 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 akG}=PwuzKve~VH80000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/guides/partner-program.svg b/assets/guides/partner-program.svg new file mode 100644 index 0000000..8221b5b --- /dev/null +++ b/assets/guides/partner-program.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/guides/prepare-listing.svg b/assets/guides/prepare-listing.svg new file mode 100644 index 0000000..e10c3f2 --- /dev/null +++ b/assets/guides/prepare-listing.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/guides/publish-listing.svg b/assets/guides/publish-listing.svg new file mode 100644 index 0000000..dbd0074 --- /dev/null +++ b/assets/guides/publish-listing.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/building_applications/building_apps_manage_collabs.md b/building_applications/building_apps_manage_collabs.md index 961d6ec..b36060c 100644 --- a/building_applications/building_apps_manage_collabs.md +++ b/building_applications/building_apps_manage_collabs.md @@ -1,6 +1,7 @@ --- permalink: /building-apps-manage-collabs title: Managing App Collaboration +sub_header: Learn how to manage your Procore developer app by inviting collaborators and transferring app ownership. layout: default section_title: Building Applications @@ -9,48 +10,85 @@ section_title: Building Applications >**Note:** This article covers topics consistent with the App Manifest v4.1 format and the form-based app creation UI experience. >For information on the App Manifest v3.x (legacy) format, see [App Manifest v3.x Legacy Format]({{ site.url }}{{ site.baseurl }}{% link building_applications/building_apps_legacy_v3x_manifest_format.md %}) and [Migrating an App Manifest from v3.x to v4.1]({{ site.url }}{{ site.baseurl }}{% link building_applications/building_apps_v3x_to_v4.1_manifest_migration.md %}). -If you have a team of developers in your organization you can use the Collaborators feature to add team members and assign them to various roles. -Each role (Owner, Administrator, and Developer) has a specific set of permissions that define what a team member can do based on their role. +## Introduction +If you're working with a team, the **Collaborators** feature allows you to manage access and responsibilities across your app. Each collaborator is assigned a role—Owner, Administrator, or Developer—which defines their permissions within the Developer Portal. -To begin managing your team, log in to the Developer Portal, visit My Apps, choose the App you want to work in and select the 'Collaborators' section on the Manage App page. -You will see each team member listed along with their current role assignment. +To get started, log in to the [Procore Developer Portal](https://developers.procore.com/signin), go to **My Apps**, select your app, and navigate to the **Collaborators** section of the Manage App page. From here, you can view, add, or manage team members and their roles. -![Collabs modal]({{ site.baseurl }}/assets/guides/form-based-manage-collabs.png) - -Each role has a defined set of permissions for actions that can be taken by a team member. -To see which permissions are defined for each role, click **View Permission Details**. - -![Permission details]({{ site.baseurl }}/assets/guides/form-based-collab-permissions.png) - -## Adding a Team Member - -You can add members to your development team and assign them to appropriate roles based on their function within your organization. +Each role has a defined set of permissions for actions that can be taken by a team member. To see which permissions are defined for each role, click **View Permission Details**. -1. On the Manage App page, select the 'Collaborators' section. -1. Click **Add Another User**. -1. Enter the Email Address for the new team member, select the appropriate role (Admin or Developer), and click **Send Invitation**. - -![Add team member]({{ site.baseurl }}/assets/guides/form-based-collab-add-new.png) - -An email is sent out to the new team member inviting them to join your development team. -After they accept the email invite and join the team, they have access to the App on the Developer Portal with the permissions defined by their assigned role. +![Collabs modal]({{ site.baseurl }}/assets/guides/form-based-manage-collabs.png) +*** +
+ Collaborator Permission Overview +

+ App Owners and Admins can invite team members to app and assign roles based on their responsibilities: +

    +
  1. Open your app in the Developer Portal and go to the Collaborators section.
  2. +
  3. Click Add Another User.
  4. +
  5. Enter the team member’s email address, choose their role (Admin or Developer), and click Send Invitation.
  6. +
+ Once added, the invited user will receive an email to confirm the additional. Once they accept, they gain access to the app with permissions aligned to their assigned role. +

+
+ +*** +
+ Adding Team Members +

+ App Owners and Admins can invite team members to app and assign roles based on their responsibilities: +

    +
  1. Open your app in the Developer Portal and go to the Collaborators section.
  2. +
  3. Click Add Another User.
  4. +
  5. Enter the team member’s email address, choose their role (Admin or Developer), and click Send Invitation.
  6. +
+ Once added, the invited user will receive an email to confirm the additional. Once they accept, they gain access to the app with permissions aligned to their assigned role. +

+
+ +*** +
+ Removing Team Members +

+ App Owners and Admins can remove collaborators from the app: +

    +
  1. Open your app and go to the Collaborators section.
  2. +
  3. Click the three-dot menu () next to the desired collaborator.
  4. +
  5. Select Remove from Project and confirm the action.
  6. +
+ Once removed, the team member will no longer have access to the app in the Developer Portal. +

+
+ +*** +
+ Changing App Ownership +

+ App Owners can transfer ownership to another team member already added to the app: +

    +
  1. Open your app and go to the Collaborators section.
  2. +
  3. Click the three-dot menu () next to the desired collaborator.
  4. +
  5. Select Transfer App Ownership and confirm the action.
  6. +
+ If the current App Owner is no longer with your organization, Procore can help reassign ownership. To initiate this process, email apisupport@procore.com. Please note that specific criteria must be met before a transfer can be completed. +

+
+ +*** ## Giving Collaborators Access to Development Sandbox Environments -As an App owner you can provide your collaborators with access to the development sandbox using the following steps. +As an App Owner, you can provide your collaborators with access to a development sandbox using the following steps: -1. Log in to the sandbox company for your App and navigate to the Company Directory tool. +1. Log in to the sandbox company for your app and navigate to the **Company Directory** tool. 2. Click **Add User**. -3. Fill out the Add User form with the required fields and click **Create**. -4. On the Edit User page, set permissions and project settings for the new user as needed. +3. Fill out the **Add User** form with the required fields and click **Create**. +4. On the following page, set permissions and project settings for the new user as needed. 5. Scroll to the bottom of the Edit User page and click **Save and Send Invitation to Procore**. -Once your collaborator has accepted the invitation to the sandbox company, they can access resources in that company using the API and sandbox credentials. -For additional information, see [Add a User Account to the Company Directory](https://support.procore.com/products/online/user-guide/company-level/directory/tutorials/add-a-user-account-to-the-company-directory) and [Edit a User Account in the Company Directory](https://support.procore.com/products/online/user-guide/company-level/directory/tutorials/edit-a-user-account-in-the-company-directory). - -## Additional Actions +Once your collaborator accepts the invitation to the sandbox company, they’ll be able to access resources using the API and sandbox credentials. -In addition to adding new members to your development team, as an Owner or Admin you can perform other actions to help manage collaboration on your project. +For additional information, see +- [Add a User Account to the Company Directory](https://support.procore.com/products/online/user-guide/company-level/directory/tutorials/add-a-user-account-to-the-company-directory) +- [Edit a User Account in the Company Directory](https://support.procore.com/products/online/user-guide/company-level/directory/tutorials/edit-a-user-account-in-the-company-directory) -- You can transfer ownership of the App to one of the other team members. -- You can remove a member from your development team. diff --git a/overview/quick_start_guide.md b/overview/quick_start_guide.md index 5f2024f..fda0f68 100644 --- a/overview/quick_start_guide.md +++ b/overview/quick_start_guide.md @@ -70,7 +70,7 @@ This guide walks you through the process of creating and testing a basic app wit
  1. Log into your Developer Sandbox and select the corresponding Company
  2. Select Company Tools at the top, then click on the Admin tool.
  3. -
  4. On the right-hand side, click App Management..
  5. +
  6. On the right-hand side, click App Management.
  7. Click Install App and choose Install Custom App.
  8. Paste the previously copied App Version Key.
  9. Click Install.
  10. diff --git a/platform_concepts/procore_product_overview.md b/platform_concepts/procore_product_overview.md index 356de5d..cfb13ff 100644 --- a/platform_concepts/procore_product_overview.md +++ b/platform_concepts/procore_product_overview.md @@ -8,25 +8,28 @@ section_title: Platform Concepts ## Introduction -This article is intended to highlight the Procore platform, focusing on how the products are structured, to aide in your app development. As a brief introduction, the Procore product is structured as a two-tier platform. To learn more about each tier, visit the sections below. +This article is intended to highlight the Procore platform, focusing on how the products are structured, to aide in your app development. It's important to note that this section does not highlight the function and features of every tool in Procore. -It's important to note that this section does not highlight the function and features of every tool in Procore. To learn more about the individual tools, visit the [Help & Learning Center]({{ site.url }}{{ site.baseurl }}{% link overview/help_and_learning_center.md %}). +To learn more about the individual tools, visit the [Help & Learning Center]({{ site.url }}{{ site.baseurl }}{% link overview/help_and_learning_center.md %}).

    *** ## Object Relationship Overview -Text Here +From a high level, the Procore platform consists of three (3) different layers, which is highlighted in the following visual. + +

    *** -## How Procore is Organized -Text Here +### User Level +Test Here

    -### Company-Level Resources +*** +### Company Level Text Here

    - -### Project-Level Resources +*** +### Project Level Text Here \ No newline at end of file From 5dd2e8310db2394e21a2dffd93176fb5cbcbd460 Mon Sep 17 00:00:00 2001 From: Andrew Hemry Date: Fri, 28 Mar 2025 18:18:43 -0500 Subject: [PATCH 2/2] Adding Partner Content and Updating Collab Section --- assets/css/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/css/main.css b/assets/css/main.css index 324e4c2..80b4f5d 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -173,7 +173,7 @@ body { font-weight: bold; margin-top: 0; margin-bottom: 8px; - color: #ff6f00; + /* color: #ff6f00; */ } .step-description {