Skip to content

Google Drive

Google Drive cloud storage — upload, download, and share files for B2B document exchange.

PropertyValue
Typehttp
Authenticationoauth2
CategoryGeneric
FieldTypeRequiredDescription
client_idstringYesGoogle OAuth2 client ID
client_secretstringYesGoogle OAuth2 client secret

The Google Drive connector does not ship with pre-defined action slugs. Instead, fyrn’s AI generates the appropriate Google Drive API calls based on your flow description. Common operations include:

  • Upload File — Upload a file to a specific folder in Google Drive.
  • Download File — Download a file from Google Drive by file ID.
  • List Files — List files in a folder, optionally filtered by name, type, or modified date.
  • Share File — Share a file or folder with specific users or make it accessible via link.
  • Create Folder — Create a new folder, optionally nested within an existing folder.
  • Move File — Move a file from one folder to another.
  • Delete File — Move a file to the trash or permanently delete it.

When you describe a flow involving Google Drive, fyrn generates the correct Google Drive API v3 calls with OAuth2 token refresh handled automatically.

flows/quickbooks-invoice-to-google-drive.yaml
flow: quickbooks-invoice-to-google-drive
version: 1
description: When an invoice is created in QuickBooks, generate a PDF and upload to a shared Google Drive folder
source:
connector: quickbooks-prod
trigger: webhook
event: invoice.created
steps:
- name: fetch-invoice-details
target: quickbooks-prod
action: get-invoice
mapping:
invoiceId: source.invoice_id
store_as: invoice
- name: generate-pdf
target: quickbooks-prod
action: get-invoice-pdf
mapping:
invoiceId: source.invoice_id
store_as: pdf_data
- name: upload-to-drive
target: google-drive-shared
action: upload-file
mapping:
name: "INV-{{ invoice.doc_number }}-{{ invoice.customer_name | slugify }}.pdf"
content: pdf_data.content
mime_type: application/pdf
folder_id: "{{ secrets.GDRIVE_INVOICES_FOLDER_ID }}"
store_as: uploaded_file
- name: share-with-customer
target: google-drive-shared
action: share-file
when: invoice.customer_email != null
mapping:
file_id: uploaded_file.id
email: invoice.customer_email
role: reader
send_notification: true
message: "Your invoice INV-{{ invoice.doc_number }} is ready."
on_error:
retry: 3x exponential(30s)
then: dead-letter