Copy Item
onedrive.copy
ActionFiles & storageconnection required
Calls the OneDrive API with the connection's credentials.
Copy a file or folder into another folder. Graph runs the copy asynchronously and answers 202, so the new item's id is not available on this step.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- OAuth 2.0
- Providers
- OneDrive
- Secret shape
- {"client_id": "…", "client_secret": "…", "refresh_token": "…"} with the Files.ReadWrite delegated scope
- Config it needs
- tenant, drive_id
- Resolved by
- config.connection_id, else node.connection_id
Configuration
6 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
drive_id The drive to act on. Leave blank for the connected user's own OneDrive (/me/drive). A SharePoint document library's drive id also works here. | string | No | — | — | — |
item_id The driveItem id, addressing it as /drives/{drive-id}/items/{item-id}. Takes precedence over item_path when both are set. | string | No | — | — | — |
item_path The item's path inside the drive, e.g. 'Reports/Q3.xlsx', addressing it as /drives/{drive-id}/root:/Reports/Q3.xlsx. Used when item_id is blank. | string | No | — | — | — |
target_parent_id Id of the folder to copy the item into. | string | Yes | — | — | — |
target_drive_id Id of the drive that holds the target folder. Leave blank to copy within the same drive. | string | No | — | — | — |
new_name Name for the copy. Leave blank to keep the original name. | string | No | — | — | — |
- At least one of item_id, item_path must be set.
Output
One shape.
result
| Field | Type | Example |
|---|---|---|
accepted True when Graph accepted the copy request. | boolean | — |
name The name requested for the copy, if any. | string | — |
{
"accepted": false,
"name": ""
}See Copy Item run in a workflow.
In a technical demo we add the OneDrive connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.