FlowRunner
PricingContact
Theme
Start Free

Google Photos

Storage

Manage app-created Google Photos content from your flows. Agents create and populate albums, register uploaded media, and search app-created items by content category, media type, or date range through the Photos Library API.

7 actions OAuth available
A completed field inspection arrives with photo attachments from the crew's reporting form
List Albums checks whether this job already has an album in the archive
Create Album creates one titled with the job number and site when it does not
The flow uploads each photo's bytes for upload tokens and assembles a manifest: filenames, capture dates, and the album they are bound for
The operations lead reviews the manifest and confirms the batch belongs in the permanent archive, because this connector has no delete
Add Media Items to Album commits the approved batch with per-item descriptions
The album's product URL posts to [Slack](/integrations/slack) and lands on the job record in the CRM

What This Integration Enables

Since March 2025, the Google Photos Library API restricts third-party apps to the content they themselves created. Read that as a limitation and you miss the point: it makes Google Photos a clean, governed home for exactly the media your workflows generate. Nothing your team keeps in their personal libraries is touched or even visible. What FlowRunner agents build here is an append-only operational archive: inspection shots, proof-of-delivery photos, receipts, and generated assets, filed into albums by convention and searchable by category and date. - Create an album per job, claim, or campaign with Create Album, so structure exists before the first photo lands - Register uploaded media with Add Media Items to Album, each item carrying a description that makes the archive self-explaining - Search app-created media by content category, media type, or date range for audits and retrieval - Pull item metadata, creation time, dimensions, MIME type, and product URL, into downstream records - Gate every batch commit behind [human-in-the-loop](/concepts/human-in-the-loop) review, because an archive with no delete deserves a doorman

Without FlowRunner

Job media scattered across phones and threads The proof photos for a delivery or inspection live in someone's camera roll, an email chain, and three Drive folders, and finding them later is archaeology
Uploads with no structure Media gets dumped wherever the uploader was standing, so the archive grows but never gets more findable
Automated writes with no owner Anything a script uploads is permanent clutter nobody signed off on, in a library with no undo from the outside

With FlowRunner

An album per job, created by the workflow Every project, claim, or delivery gets its own album the moment its first photo arrives, titled by a convention agents enforce
An archive you can query Search Media Items pulls by content category, media type, or date range, so "all receipts from March" is a call, not a scavenger hunt
Every commit reviewed before it is permanent A person approves each batch manifest before the archive absorbs it, and the log records who

Use Case Scenarios

Proof of work, filed while the crew drives home

A field crew closes out a job through their reporting form with a dozen photos attached. The agent resolves or creates the job's album, uploads the bytes for tokens, and stages the batch with the job number in each description. The ops lead approves the manifest from [Slack](/integrations/slack), Add Media Items to Album commits it, and the album's product URL lands on the job record. When the customer disputes the state of the site three months later, the answer is one link, not a search through phones.

The receipt archive that survives an audit

Expense photos arrive from [Google Drive](/integrations/google-drive-api) uploads and mobile submissions. The agent files each month's receipts into a dated album and, on a schedule, runs Search Media Items filtered to the Receipts content category, cataloging every item's filename, creation time, and product URL into [Google Sheets](/integrations/google-sheets). Finance gets a ledger where every row links to its image, and the mutually exclusive album-or-filter search means the sweep can run library-wide without touching album structure.

Generated assets, archived where they can be found again

A creative pipeline produces campaign images by the batch. The agent creates an album per campaign, commits the approved renders with descriptions carrying the prompt and version, and posts the album link to the campaign channel. Because Get Media Item returns a fresh baseUrl on demand, downstream flows re-fetch bytes when they need them instead of hoarding expiring links. The campaign's visual history stays browsable in albums instead of dissolving into a downloads folder.

Human-in-Loop Highlight

Add Media Items to Album is the commit, and on this connector the commit is one-way. The integration's scopes allow it to create albums and append media, but there is no delete action: whatever an agent writes into the library stays there until a person cleans it up by hand in the Google Photos interface. A misrouted batch, wrong job's photos, a customer's document filed into an album whose product URL was just shared, cannot be recalled by the agent that made the mistake. So no batch commits itself. The agent stages: "Fourteen photos from the Route 9 site visit, bound for album Job 4187. Two flagged: filenames suggest they belong to Job 4189. Commit twelve, reroute two?" The ops lead answers, the commit runs, and the archive stays something the team trusts precisely because nothing enters it without a person at the door.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

7 actions

Albums

3
  • List Albums Returns a paginated list of albums created by this integration, up to 50 per page. The existence check that runs before any album is created twice.
  • Get Album Retrieves one album's title, product URL, cover photo, and media item count by ID. Used to verify structure and fetch the shareable link for job records.
  • Create Album Creates a new, empty album with a given title, owned by the integration and ready to populate. The step that gives every job its own drawer before the photos arrive.

Media Items

4
  • List Media Items Returns app-created photos and videos, most recent first, up to 100 per page. The broad sweep behind archive-wide catalogs.
  • Get Media Item Retrieves a single item's base URL, product URL, MIME type, filename, and metadata by ID. The base URL expires after roughly an hour, so agents re-fetch on demand rather than storing links that rot.
  • Search Media Items Searches by album, or by content category, media type, and date range across the app-created library. Album and filters are mutually exclusive, which keeps job-scoped pulls and library-wide audits cleanly separate.
  • Add Media Items to Album Creates media items from previously obtained upload tokens, optionally filing them into an app-created album with per-item descriptions. The one-way commit this page's human gate exists for.

Frequently Asked Questions

What can FlowRunner do with Google Photos?

FlowRunner agents can run List Albums, Get Album, and Create Album in Google Photos, plus 4 more actions.

Does connecting Google Photos to FlowRunner require OAuth?

Yes. Google Photos connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.

Can Google Photos trigger a FlowRunner workflow automatically?

Google Photos doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Google Photos

$100 in credits. No card required. Connect in minutes.