Weekly CompanyCam jobsite rollup in Google Sheets

Every Monday morning, log each active jobsite's photo activity from the past week to a shared Google Sheet so leadership sees every site in one place.

Deterministic Code
CompanyCamGoogle SheetsOperationsDaily DigestsData Sync
PromptCreate

Every Monday at 7am (in a configurable timezone), produce a deterministic weekly jobsite rollup in Google Sheets so the leadership team has a single view of every active CompanyCam project from the past week.

Trigger: cron, weekly on Mondays at 7am. Both the exact time and the timezone should be exposed as configurable inputs.

Step 1. Call CompanyCam List Projects to enumerate active jobsites. Paginate through every page (per_page 100, advance page until a short or empty array comes back). Include only projects with status active; skip archived and deleted unless the user opts them in.

Step 2. For each active project, call CompanyCam List Project Photos with modified_since set to the workflow start time minus lookbackDays (default 7) formatted as ISO8601. Paginate to get the full set. Count the total number of photos returned and capture the captured_at timestamp of the most recent one. If a project has zero photos in the window, still include it in the output with a count of 0 and an empty latest-photo timestamp; leadership needs to see the quiet sites too.

Step 3. For each project, append exactly one row to the shared Google Sheet using Google Sheets Append Values. Columns, left to right: (1) project name, (2) project address as a single line joining street, city, state, and postal code, (3) photos captured this week as an integer count, (4) timestamp of the latest photo captured in the window (blank when there were none), (5) direct link back to the CompanyCam project in the form https://app.companycam.com/projects/{project_id}. Use valueInputOption USER_ENTERED so the link becomes clickable and the timestamp renders as a date.

Expose these customization knobs at the top of the workflow: spreadsheetId (the target Google Sheet), sheetRange (default like "Weekly Rollup!A:E"), scheduleTimezone (for the cron), and lookbackDays (default 7).

Every value maps one-to-one from the API responses. No AI reasoning, no summarization, no LLM calls; this is a fully deterministic code workflow. Handle CompanyCam rate limits (240 GET per minute per token) and Google Sheets write limits (60 per user per minute) with retry and exponential backoff on 429s. Handle missing address fields gracefully (leave the assembled address blank rather than failing the row).

Additional information

What does this prompt do?
  • Runs every Monday morning on a schedule you choose
  • Pulls every active jobsite from CompanyCam and counts the photos captured in the last seven days
  • Appends one row per jobsite to your shared Google Sheet with name, address, weekly photo count, latest photo time, and a direct link back to CompanyCam
  • Gives leadership a single weekly view of every active site without anyone chasing crews for updates
What do I need to use this?
  • A CompanyCam account on the Pro, Premium, or Elite plan with an admin login
  • A Google account with edit access to the spreadsheet you want the rollup written to
  • A shared Google Sheet with a header row for the five columns (project name, address, photos this week, latest photo time, project link)
How can I customize it?
  • Change the day, time, or timezone the rollup runs
  • Point the workflow at a different Google Sheet or tab
  • Adjust the lookback window (default is the last seven days)
  • Add or reorder columns to match how your leadership team likes to read the report

Frequently asked questions

How often does this run?
Once a week, every Monday at 7am in whatever timezone you choose. You can change the schedule to daily, weekly on a different day, or any other cadence.
Do I need a paid CompanyCam plan?
Yes. CompanyCam's API is available on the Pro, Premium, and Elite plans, and you need an admin login on the account to generate an access token.
Can I use my existing team spreadsheet?
Yes. Point the workflow at the spreadsheet and tab you already share with leadership. Each run appends new rows underneath the last set so your history builds up over time.
What if we have hundreds of active jobsites?
The workflow pages through every active project and paces its calls against CompanyCam's per-minute limits, so large accounts still finish reliably.
Will jobsites with no activity still show up?
Yes. Every active jobsite gets a row, even if it had zero photos captured in the past week. That way leadership can spot the quiet sites just as easily as the busy ones.

Give leadership one clean view of every active jobsite.

Set this up once and every Monday your rollup arrives in the same shared sheet, with the numbers pulled straight from CompanyCam.