Build customer photo reports from CompanyCam jobsite shots

Search every jobsite photo in one place, pair your before and after shots, then send the homeowner a branded recap without leaving the app.

App
CompanyCamGoogle DriveGmailOperationsSalesContent GenerationEmail AutomationAI Reports
PromptCreate

I want an app for putting together customer facing photo reports from CompanyCam without digging through projects one at a time. The people using it are sales reps and project managers who need to send a homeowner a before and after recap once a job wraps up.

The main surface is a photo search screen that spans the whole account. Load photos with CompanyCam List All Photos, which is account wide and sorted most recently captured first. Give me filters for tag, date range, project, and the crew member who took the shot. Populate the filter dropdowns from List All Tags, List Projects, and List All Users so the options are the real ones on my account. Show results as a thumbnail grid. When I drill into a single job, switch the query to List Project Photos for that project instead.

List All Photos uses page and per_page pagination, so the grid must paginate or infinite scroll rather than trying to load the whole account at once. Each photo carries a uris array of renditions keyed by type: use the thumbnail rendition in the grid and the web or original rendition when composing the report file. Tag filtering works either by filtering against List All Tags or by reading List Photo Tags per photo, so pick whichever keeps the grid responsive and avoid firing a per photo request for every tile on screen.

From the grid I select the shots I want and send them to a report builder view. There I pair photos into before and after slots and write a caption for each pair. I should be able to reorder pairs, swap the two photos in a pair, remove a pair, and set the report title, customer name, and job address before building.

A Build Report action assembles a branded report file from the pairs and captions. It then creates a per customer folder in Google Drive with Create Folder, uploads the report into that folder with Upload File (Multipart), and generates a shareable link with Create Permission. Upload File (Multipart) only covers files up to 5MB, and photo heavy reports pass that easily, so fall back to Upload File (Resumable) when the assembled file is larger.

Once the report exists I can email it to the homeowner without leaving the app. Gmail has no single send with attachment operation, so the send path is Create a Draft with a base64url encoded RFC 2822 message followed by Send a Draft. Deliver the report as the Drive link plus a short written summary in the body rather than as a raw attachment. Let me review and edit the subject and body before it goes, and prefill both from the report title, customer name, and captions.

After the email sends, log what went out back onto the job with CompanyCam Add Project Comment, including the report name, the Drive link, and who sent it, so the field crew sees the customer already got their recap.

Keep a Recent reports list scoped per user. Persist each report's pairs, captions, title, customer details, Drive file and folder ids, share link, and send history, so a rep can reopen a past report, tweak the pairs or captions, rebuild it, and resend it. One rep should not see another rep's reports.

CompanyCam notes to build against: list endpoints return a bare JSON array rather than a wrapping envelope, created_at and updated_at are Unix epoch integers, and resource ids come back as strings. Rate limits are 240 GET and 100 POST per token per minute, so batch and cache the filter option lists rather than refetching them on every keystroke.

What does this prompt do?

  • Gives you one photo search screen across your whole CompanyCam account, with filters for tag, date range, job, and the crew member who took the shot, so you stop opening projects one at a time to find the right pictures.
  • Lets you pick your shots, pair them into before and after slots, and write a caption for each pair.
  • Builds a branded report file, files it in a per customer folder in Google Drive, and creates a shareable link for it.
  • Emails the finished report to the homeowner from your own Gmail account, then posts a note back on the job so the field crew can see the customer already got their recap.
  • Keeps a Recent reports list for each rep, so you can reopen a past report, tweak it, and resend it.

What do I need to use this?

  • A CompanyCam account with photos on your jobs. API access requires an admin login on a Pro, Premium, or Elite plan.
  • A Google account for Drive, where the report files and customer folders are stored.
  • A Gmail account to send the reports from. The homeowner receives the email from your address.
  • Your logo and company details if you want the report branded.

How can I customize it?

  • Change the report layout and branding, including your logo, colors, and the cover page details.
  • Set where reports are filed in Drive and how customer folders are named, plus who the share link is open to.
  • Adjust the default email subject and message the homeowner receives, and decide whether it sends straight away or waits for you to review it first.
  • Change the wording of the note posted back on the job, or turn that step off.

FAQs

Do I need to open each job to find photos?
No. The main screen searches photos across your entire account at once, which is the whole point of the app. You can still drill into a single job when you want only that job's photos.
Can I filter by who took the photo?
Yes. The filters cover tag, date range, job, and crew member, and the options are pulled live from your own account, so you see your real tags, jobs, and team members.
Does the homeowner need a CompanyCam or Google account to view the report?
No. The report is shared as a link that anyone can open in a browser, so the customer just clicks it in the email.
Is the report sent as an attachment?
It is sent as a link rather than an attachment. Photo reports get large quickly, and a link avoids bouncing on the customer's mailbox size limits while letting you swap in an updated version later.
Can I edit a report after it has gone out?
Yes. Every report you build is saved in your own Recent reports list. Open it, change the pairs or captions, rebuild it, and send it again.
Will my whole team see my reports?
The Recent reports list is scoped to each user, so each rep sees the reports they built rather than everyone else's.

Related templates

Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Chase the paperwork every new client and vendor still owes

One board showing every party you are onboarding, which documents are still missing or expiring, and a one click chase email for exactly what is outstanding.

General Input Storage
General Input Database
PDF.co
+1
App
File Gmail attachments into storage with names you can find

Every hour, new email attachments get sorted by document type and vendor, saved under clear names, and logged in a spreadsheet index.

Gmail
General Input Storage
Google Sheets
+1
Agentic Task
Candidate rediscovery desk for your archived Lever applicants

Pick an open role and see which past applicants deserve a second look, with an assistant that ranks the best fits and drafts personal outreach.

Lever
Gmail
App
Laytime and demurrage claim workspace for chartering ops

See every voyage on your books ranked by money at risk, open the full statement of facts, and let an agent draft the demurrage claim for review.

MarineTraffic
Google Sheets
Gmail
+1
App
Kajabi customer support console for member access fixes

Look up any Kajabi member by email or name and see every offer, purchase, and payment in one profile, then grant, revoke, or swap access from the same row.

Kajabi
Gmail
Slack
App

Stop rebuilding photo reports job by job.

Find the right shots across every jobsite, pair them up, and get a branded recap into the homeowner's inbox in a few minutes.