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.
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?
Can I filter by who took the photo?
Does the homeowner need a CompanyCam or Google account to view the report?
Is the report sent as an attachment?
Can I edit a report after it has gone out?
Will my whole team see my reports?
Related templates
A calibration board that lines up every candidate's answer to the same question, hides names until your panel has scored, and writes the agreed rating back.
Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.
Open one board every morning to see every outstanding quote by age and value, decide on each one, and send follow-ups only after you approve them.
One desk to pull scripts from Drive, give every line its own voice, redo the one take that missed, and share approved audio in Slack.
See every HoneyBook project's booked revenue next to what actually landed in your bank, chase what is late, and bill the next payment in one click.
Paste a customer email or license key and see every purchase, license, and membership in one place, then refund or reset a key right from the row.
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.