Daily CompanyCam jobsite photo recap in Slack
Every weekday at 5pm, we scan today's active jobsites for photos and comments, then post a per-site narrative to Slack for the office team.
Every weekday at 5pm local time, roll up today's CompanyCam jobsite activity into a single narrative recap and post it to a Slack channel so office staff can see what happened on site without opening the app.
Start by calling CompanyCam List Projects with a modified_since filter set to the start of today in the org's local timezone (ISO8601). That returns every project that had any activity today, most recent first. Paginate until the response comes back short or empty.
For each project, call CompanyCam List Project Photos and keep only photos captured today (using the photo's captured_at). Skip any project that ends up with zero new photos — do not include it in the digest at all.
For photos that look meaningful (a caption present, a comment count above zero, or a notable tag such as before, after, damage, punchlist, or completion), call CompanyCam List Photo Comments to pull the crew comments. Use those captions and comments as context when drafting the narrative — a note like "roof deck ready for shingles" should shape what the recap says.
For each qualifying project, write a short narrative recap (roughly 2-4 sentences): what got done today, any notable tags, and which crew member captured the most photos (by counting photos per creator_id / creator_name). Keep the tone factual and specific — refer to real captions or comments where they add color.
Combine everything into a single Slack message. Each project gets its own section with the project name as a bold header, the narrative, and a direct link back to the project in CompanyCam (https://app.companycam.com/projects/<project_id>). Cap the whole digest at a reasonable length — target under about 3000 characters. If there are too many projects to fit, keep the ones with the most photos or the most notable tags and mention the count of any that were trimmed.
Post the finished digest as one message using Slack Send a Message to the configured channel. Do not post anything if every project was skipped for zero new photos — send a single line saying "No jobsite activity logged today" instead, so office staff know the workflow ran and it was a quiet day, not a broken automation.
What does this prompt do?
- Finds every CompanyCam project that had activity today
- Reads the day's photos and any captions or crew comments left on them
- Writes a short narrative per site covering what got done, notable tags like before/after or damage, and which crew member captured the most photos
- Posts the whole roll-up as one Slack message with a direct link back to each project
What do I need to use this?
- A CompanyCam admin login on a Pro, Premium, or Elite plan so we can read projects, photos, and comments
- A Slack workspace and a channel where the daily recap should land
How can I customize it?
- Change when it runs (5pm every weekday is the default, but any schedule works)
- Point it at a different Slack channel or a direct message
- Filter to specific project labels if you only want a recap for certain crews, regions, or trades
FAQs
What if a jobsite had no photos today?
Does the summary mention photo tags?
Can office staff jump straight to the project in CompanyCam?
Is it one message per site or one combined message?
Do crew captions and comments show up in the summary?
Related templates
Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.
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.
Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.
Every weekday morning, every appointment that fell through yesterday gets a personal text or email inviting them to rebook, plus a task for the right rep.
Pick any date range up to 120 days and see return volume, refund versus exchange mix, and the products behind every number, recalculated each time you open it.
Every newsletter gets read, checked and signed off in one place, so nothing goes out with a broken link or a half-filled greeting.
Stop chasing your crews for end-of-day updates.
Let the photos your team already takes turn into a Slack recap the office actually reads.