AddThisFeature

Google Drive File Export

Let users send app files and reports straight to a folder in their own Google Drive.

involved Integrations

What it adds

An authorized per-user Drive connection that uploads generated files to a folder the user picks, with resumable uploads and naming rules.

What your agent is told to do

5
  1. 1

    Request the narrowest scope that allows writing the files this feature creates, and prefer a scope limited to files the app itself created over one granting access to the user's whole Drive.

  2. 2

    Have the user pick the destination folder explicitly through a selection flow, store the folder reference with the connection, and write only inside it. Never fall back to the Drive root when the stored folder cannot be found.

  3. 3

    Upload through a resumable mechanism for anything larger than a trivial file, record the upload session against the export, and resume from the last confirmed position rather than restarting from zero after an interruption.

  4. 4

    Define the collision rule before writing: either create a new version of the existing file or write a distinct name with a deterministic suffix. Do not silently overwrite a file the user may not have realized was there.

  5. 5

    Run every export through the app's existing background-job system and show its state on the export record, so a large upload never holds a web request open or times out under the user's cursor.

Edge cases it handles

8
  • Asking for broad Drive access to do a narrow job is the tempting shortcut and the wrong one. Request only what writing the app's own exports requires, and if a wider scope was ever granted, drop to the narrow one on the next reconnect and say so in the connection screen.
  • A stored folder can be renamed, moved, trashed, or have its sharing revoked between exports. Verify the folder is still present and writable before uploading, and when it is not, pause the export and ask the user to reselect rather than writing somewhere else.
  • Repeated exports of the same report will collide by name. Apply the chosen collision rule consistently, make the resulting name predictable so the user can find it, and never destroy an existing file without an explicit instruction.
  • Large uploads fail partway on flaky connections and leave a fragment behind. Use resumable uploads, resume from the last acknowledged byte, and clean up abandoned partial uploads so the user's Drive does not fill with truncated files.
  • The connection must not become a general-purpose door into the user's Drive. Do not list, read, or index unrelated content, do not cache directory structure beyond what the folder picker needs, and revoke the token cleanly when the integration is disconnected.
  • Tokens expire and consent can be revoked by the user or a Workspace administrator. Refresh ahead of expiry, and on permanent authorization failure mark the connection disconnected and prompt a reconnect rather than retrying indefinitely.
  • Drive rejects uploads when the account is out of storage or a size limit is exceeded. Distinguish those permanent conditions from transient failures, tell the user which one occurred in plain terms, and do not queue endless retries against a full account.
  • When Drive is unavailable the export itself must still succeed. Generate the file, keep it downloadable from the app, and show the Drive delivery as pending with a retry rather than losing the export.

Definition of done

9
  • The connection requests only the minimum scope needed to write the app's own export files.
  • The destination folder is chosen explicitly, and exports are written only inside it.
  • A missing or unwritable folder pauses the export and asks the user to reselect instead of writing elsewhere.
  • Filename collisions follow a stated rule and never silently overwrite an existing file.
  • Interrupted uploads resume from the last confirmed position, and abandoned partials are cleaned up.
  • Disconnecting the integration revokes the stored access, and no unrelated Drive content is read or retained.
  • A Drive outage leaves the generated file available in the app with the delivery marked pending.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.