What this workflow does
This workflow uploads images to a SharePoint folder using Microsoft Graph API. It solves the problem of spending hours manually uploading files and avoids mistakes like wrong folder or file names. After running, the image files appear in the right SharePoint location automatically.
The process gets an access token, downloads an image from a URL, then uploads that image to SharePoint as a new file. The upload uses proper authorization and file format headers for success.
Who should use this workflow
This workflow is for anyone who uploads images often to SharePoint and wants to save time. It helps content managers, marketers, or IT teams who want fewer errors and less manual work. No coding skills are needed to run this in n8n.
Tools and services used
- Microsoft Graph API: To handle authentication and file upload via API.
- Microsoft Azure Active Directory app: To get access credentials (tenant ID, client ID, client secret).
- SharePoint Online: The file storage location where images are uploaded.
- n8n automation platform: To build and run the workflow without coding.
- Public image URL: Source to download an image file for uploading.
How the workflow works (Inputs → Processing → Output)
Inputs
- Azure AD app credentials: TENANT_ID, CLIENT_ID, CLIENT_SECRET
- Image URL to download (e.g., a public picsum.photos link)
- Target SharePoint folder path
- Filename to save the image as
Processing
- Manual Trigger: Starts the workflow.
- Set config (sensitive data): Stores tenant ID, client ID, client secret securely in the workflow.
- Authentication: Sends POST request to Microsoft OAuth2 endpoint to get access token.
- Get photo (for testing purposes): Downloads image binary data from the URL.
- Set destination: Sets the folder path and file name for the upload.
- Upload photo: Sends PUT request to Microsoft Graph API to upload the image binary into SharePoint folder.
Output
The workflow outputs the upload response JSON. It contains file details confirming the image saved correctly. User can check the SharePoint folder manually as well.
Beginner step-by-step: How to use this workflow in n8n
1. Import the workflow
- Download the workflow file using the Download button on this page.
- In the n8n editor, click on “Import from File” and select the downloaded file.
2. Configure credentials
- Open the Set config (sensitive data) node.
- Enter your Azure app’s
TENANT_ID,CLIENT_ID, andCLIENT_SECRET. - Update the
TARGET_FOLDERandFILE_NAMEfields in the Set destination node as needed.
3. Test the workflow
- Click the Manual Trigger node and then select “Execute Workflow”.
- Check the nodes run successfully and the final upload response shows success.
4. Activate for production
- Turn on the workflow to enable automatic runs.
- Optionally, replace the manual trigger with a webhook or scheduled trigger for automation.
If self hosting n8n, explore self-host n8n for setup and management.
Common errors and edge cases
- 401 Unauthorized: Usually from wrong tenant ID, client ID, or secret. Double-check app registration.
- 404 Not Found on upload: URL path error or missing permissions. Verify folder path and API permissions.
- Image download fails: Image URL invalid or blocked. Test URL separately first.
Ways to customize
- Change the image source URL in Get photo (for testing purposes) to any valid image.
- Use n8n expressions to create dynamic filenames, like adding timestamps.
- Modify
Content-Typein Upload photo for other file types like PDFs. - Store sensitive values in n8n Credentials for better security instead of Set node.
- Switch to webhook triggers for automatic uploads from external apps.
Summary of benefits and results
✓ Saves several hours weekly by removing manual uploads.
✓ Avoids errors caused by manual file handling.
✓ Gives easy automatic uploads into SharePoint using simple n8n setup.
✓ Supports changing image sources and filenames flexibly.
✓ Suitable for non-technical users once set up.
