SOP: Procore Integration
Step-by-step process for setting up and troubleshooting the Procore Daily Log sync
Overview
This SOP outlines the process for setting up Procore integration for customers. The integration allows Sitemetric to sync with Procore Daily Logs automatically.
Reference material
- Procore Integration - Daily Log
Key Benefit: Automated manpower logging saves customers significant time by populating daily logs with actual worker hours detected on site.
❓ Frequently Asked Questions
1. Who owns the API call counts?
Sitemetric owns and manages all API call counts.
2. Does the integration use a designated account for the connection?
The connection is via a Procore marketplace app that must be granted access to the specific projects in Procore. Any changes made via the integration will be attributed to Sitemetric.
3. What information does Sitemetric pull from Procore?
Sitemetric requires read-only access for:
- Companies
- Vendors
- Project Documents
4. Why aren’t entries being logged?
If entries are not being logged, the Procore user needs to be sure not to close the day in Procore. Closing the day locks it, which prevents Sitemetric from writing/logging entries.
5. Do I need a Sitemetric login to set up the integration?
No, only a Procore admin is needed to follow our instructions to carry out the setup.
For more details about the integration, visit the Sitemetric app page on the Procore Marketplace
📋 Process Steps
1️⃣ Initial Customer Inquiry
Customer reaches out inquiring about Procore integration.
Action Required: Immediately send the Procore integration PDF explaining what the integration does.
Attachment: `Sitemetric_Procore_Integration.pdf`
What This Document Covers:
- Daily Data Collection: Explains how we gather detection data each night at 4 AM and attribute worker hours to their respective companies
- Automated Manpower Log Update: Details how logs populate in Procore's Manpower section every morning
- Company Matching: Describes how we match Procore companies with Sitemetric companies during setup
- Manual Entries and Data Integrity: Assures customers that we don't override manual entries and they can continue their manual process if preferred
- Benefits: Highlights time savings and accuracy improvements from automated manpower logging
2️⃣ Customer Confirms They Want to Proceed
Customer reviews the information and wants to move forward.
Action Required: Gather required information and set expectations on timeline.
Information Needed:
- Customer name
- If this is first time setup: Site / Project name
- Critical: Confirm if reports will require a trade field (needed for site settings configuration)
3️⃣ Company Matching Process
Internal Step: Match companies between Sitemetric and Procore.
Key Considerations: - After matching, there may be companies in Sitemetric that do not exist in Procore - Customer will need to create missing companies in Procore - If the customer wants subcontractors to roll up to general contractors (or other hierarchical relationships), these relationships must be established BEFORE engaging the integration
Note: While we don't need to mention
site_companiesby name to customers, we need to capture any hierarchical relationships between companies.
4️⃣ Send Customer Setup Instructions
Action: Send customer-facing email with setup instructions.
*See Template 1 below for email copy.*
5️⃣ Customer Completes Setup in Procore
Customer (or their Procore administrator) installs and configures the app.
ℹ️ Customer will need Procore admin permissions to complete this step. Setup is quick and easy once permissions are confirmed.
6️⃣ Handle Missing Companies
If companies exist in Sitemetric but not in Procore, notify the customer to add them.
*See Templates 2 & 3 below for email copy.*
7️⃣ Configuration Complete
Once we detect the new installation, Daily Logs will begin populating within a couple of days. After initial setup, Sitemetric will sync with Procore Daily Logs every night.
Timeline: 2-3 days for initial Daily Logs to populate, then automatic nightly syncs
📧 Customer Communication Templates
Template 0: Initial Inquiry Response (with PDF)
Subject: Sitemetric Procore Integration Information
✉️ Template text (copy/paste): Hi [CUSTOMER NAME], Thank you for your interest in our Procore integration! I've attached a document that provides a detailed overview of how the integration works. In summary, our Procore integration: - Automatically populates your Procore Daily Logs with manpower data from Sitemetric • Syncs every night at 4 AM with the previous day's worker hours • Matches companies between Sitemetric and Procore to ensure consistency • Does not override any manual entries you've already made • Significantly reduces manual data entry time while maintaining accuracy Please review the attached document and let me know if you'd like to move forward. If so, I can walk you through the setup process and timeline. Looking forward to hearing from you! Best, [YOUR NAME] Attachment: Sitemetric_Procore_Integration.pdf
Template 1: Initial Setup Instructions
Subject: Procore Integration Setup for [PROJECT NAME]
✉️ Template text (copy/paste): Hi [CUSTOMER NAME], No problem, we can integrate with Procore for [PROJECT NAME]. You may need to speak with your Procore administrator as the initial setup requires certain permissions, but is very easy (See the steps below). Setup Steps: 1. Download Sitemetric from the Procore marketplace (if not already installed) 2. Navigate to "App Management" in Procore 3. Locate and view the Sitemetric app from the list 4. Click on the "Permissions" tab 5. Under 'Permitted Projects,' add the desired project(s) - Note: The Procore admin user permission is required to complete this step. Reference Link Important Questions: - Is your Procore Daily Log currently configured to require 'trade' with each log entry? (We need to match this setting in Sitemetric) - Do you have any other required fields configured in your Procore Daily Log? What to Expect / Next Steps: Once we detect the app has been added to your project(s), we'll begin the company matching process — aligning companies in Procore with their counterparts in Sitemetric. This process may take a few business days, and we'll follow up once the integration is fully turned on. From that point forward, Sitemetric will automatically sync with your Procore Daily Logs every night. If you have any questions, just let me know. Best, [YOUR NAME]
Template 2: Missing Company (Single)
Subject: Action Required: Add Company to Procore
✉️ Template text (copy/paste): Hi [CUSTOMER NAME], There is a company we have detected onsite that needs to be added to your Procore. Could you please add "[COMPANY NAME]" to your Procore companies? If you have any questions, just let me know. Best, [YOUR NAME]
Template 3: Missing Companies (Multiple)
Subject: Action Required: Add Companies to Procore
✉️ Template text (copy/paste): Hi [CUSTOMER NAME], There are companies we have detected onsite that need to be added to your Procore. Could you please add the following companies to your Procore account: - [COMPANY 1] • [COMPANY 2] • [COMPANY 3] If you have any questions, just let me know. Best, [YOUR NAME]
⚙️ Internal Notes & Configuration
🎯 Trade Requirement Setting
⚠️ Important: Ask the customer if their reports will use the trade field. If yes, a specific site setting must be turned on to look for trade data, or else reports will not function properly. This should be confirmed during the initial information gathering phase (Step 2).
🔍 Required Fields Check
Internal Note: During initial conversations, check if the customer has any other required fields configured in their Procore Daily Log beyond trade. If they have required fields we don't currently handle, we'll need additional time to augment the integration before it can function properly. Add extra time to the timeline communicated to the customer if custom field development is required.
⏱️ Timeline Expectations
- Initial setup by customer: Same day (if they have admin permissions)
- Detection of new installation: 1-2 days
- Daily Logs begin populating: 2-3 days after detection
- Ongoing sync: Every night automatically at 4 AM
🔧 Troubleshooting
If issues arise during setup, verify:
- ✓ Customer has proper Procore admin permissions
- ✓ Project is added under the Sitemetric app’s “Permitted Projects” in Procore (Admin Tool). See: https://v2.support.procore.com/product-manuals/admin-company/tutorials/add-permitted-project
- ✓ All companies have been matched between systems
- ✓ Hierarchical company relationships have been established (if applicable)
- ✓ Trade requirement setting matches customer needs
Procore Integration - Daily Log
Overview
This page explains how the Procore Daily Log sync works, what the common error messages mean, and how to resolve them.
Schedule: The Procore integration runs nightly at 4:00 AM ET for sites (and customers) that have been scheduled to sync.
Background
Which sites are scheduled?
To get the list of scheduled sites, query the DB table external where job_type = 'procore_daily_log'.
Why errors happen
When nightly data is gathered for a site, some worker detections may be assigned to a company that does not have a matching company in the Procore project.
When that happens, errors are posted to Slack channel #procore-alerts.
⚠️ Important: Each error message needs to be addressed. The same errors will occur on subsequent days until resolved.
Addressing errors
Below are the two most common error patterns and what to do next.
1) “missing Procore companyId for our company …”
This means we need to confirm with the customer point of contact (POC):
- Whether they want this company included in the Daily Log.
- Whether it should roll up to another company.
If it does not roll up:
- The POC needs to add the company to the Procore project as a new company.
- After the company is added, we wait for the alert confirming it.
- Our normal company-matching process will then resolve the issue.
2) “unable to find company with name …”
Start by checking the external_ids table.
If an `external_ids` entry exists (use the Procore companyId as internal_id for the given customerId):
- Create an entry in
site_companies. - You still need to know whether the company rolls up to another company.
- Search
site_companiesfor existing rows that indicate the rollup. - If none exist, ask the POC if it rolls up.
- Search
If there is no `external_ids` entry:
- The POC also needs to create this company in Procore.