Build customer photo reports from CompanyCam jobsite shots

By General Input

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

Integrations

  • CompanyCam
  • Google Drive
  • Gmail

Type

App

Categories

  • Operations
  • Sales

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.

Related prompts

Explore more prompts
Win back LiveChat visitors whose chats went unansweredChase the paperwork every new client and vendor still owesFile Gmail attachments into storage with names you can findCandidate rediscovery desk for your archived Lever applicantsLaytime and demurrage claim workspace for chartering opsKajabi customer support console for member access fixesRun your application review round on Jotform submissionsAd creative studio with a pre-approved variant libraryFilter every signed Ironclad contract and brief it on demandArtwork desk for the Notion posts still missing an image