Skip to main content

Example 6: Google Drive -> SharePoint file copy with Fork

Workflow examples

Why this example

A field-services team receives weekly compliance documents into a shared Google Drive folder. The North-American and EMEA back-offices each need their own copy on a regional SharePoint document library so the auditors can find them in the system they already use. The Fork node sends each file row to both downstream branches in parallel.

Helix Beverages context: Helix's largest national grocer drops compliance documents into a shared Google Drive folder each week. The IT team's audit shop lives on SharePoint, but Marketing wants the same files in their own Drive workspace. This recipe mirrors every drop into both worlds at once (see the Helix overview for the retailer-compliance backdrop).

At a glance

  • Connectors used: Google Drive, SharePoint Files
  • Nodes used: Start, Source, Fork, Load (x2)
  • Schedule: every 30 minutes
  • Direction: One-way fan-out (Drive -> SharePoint NA + SharePoint EMEA)

Canvas

Fork emits each row on every output port simultaneously, so each file lands on both SharePoint sites in parallel without re-reading from Google Drive.

Step-by-step

#NodeActionKey configurationOutput shape
1Start------
2SourceGoogle Drive: List DirectoryFolder ID for the incoming root. Include globs *.pdf, *.docx. Recursive: true. Files-only: true.{ fileName, fileId, mimeType, modifiedAt, sizeBytes, downloadUrl } rows
3Fork--Two output ports (out1 -> NA, out2 -> EMEA). Each row is emitted on both ports.Same row on both branches
4Load: SharePoint NASharePoint: Upload FileSite URL: https://acme.sharepoint.com/sites/Compliance-NA. Library: Documents. Path template: Incoming/[modifiedAt as yyyy/MM]/[fileName]. Overwrite policy: keep-newer.--
5Load: SharePoint EMEASharePoint: Upload FileSite URL: …/Compliance-EMEA. Same path template, same overwrite policy.--

Variations

  • Filter by file type per region -- if NA wants PDFs only and EMEA wants DOCX only, add a Filter on each Fork branch.
  • Replace SharePoint with OneDrive -- the Load action's connector switches; the action shape is identical.
  • Add a "delete from source after copy" step -- chain a third node after each Load that calls Google Drive's Delete File action with the original fileId. Wire each branch's out port through the new node serially so the source is only deleted once both regional copies succeed (use the AND-join capability: wire both branches' out ports into a single downstream node that waits for both).
  • Different file hubs -- the Fork pattern works identically when the destinations are Dropbox, S3, or Azure Blob.