Skip to main content

Generate bulk certificates and contracts with Carbone, Excel and OneDrive

Workflow preview

Workflow preview
100%
Generate bulk certificates and contracts with Carbone, Excel and OneDrive preview
Open on n8n.io

1. Workflow Overview

Quick Overview This workflow runs every Monday and reads pending rows from a Microsoft Excel workbook, generates certificate and contract PDFs in bulk with Carbone using templates stored in SharePo...

Best for

  • Document Extraction automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.scheduletrigger, n8n-nodes-base.set, n8n-nodes-base.httprequest, n8n-nodes-base.microsoftexcel, n8n-nodes-base.if, n8n-nodes-base.noop, n8n-nodes-base.code

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Mychel Garzon.

Original n8n.io source

1.1 Workflow description

Title
Generate bulk certificates and contracts with Carbone, Excel and OneDrive
Workflow name
Generate bulk certificates and contracts with Carbone, Excel and OneDrive

Quick Overview

This workflow runs every Monday and reads pending rows from a Microsoft Excel workbook, generates certificate and contract PDFs in bulk with Carbone using templates stored in SharePoint, uploads the files to OneDrive, posts a summary card to Microsoft Teams, and marks the Excel rows as completed via Microsoft Graph.

How it works

  1. Runs every Monday at 08:00 on a schedule.
  2. Fetches the Excel header row via Microsoft Graph and reads the pending rows from the configured Microsoft Excel worksheet.
  3. Splits the rows into certificate and contract batches and prepares the data arrays Carbone uses to render documents.
  4. If certificate rows exist, downloads the certificate template from Microsoft SharePoint, generates a zipped batch of PDFs with Carbone, extracts the files, and uploads them to Microsoft OneDrive.
  5. If contract rows exist, downloads the contract template from Microsoft SharePoint, generates a zipped batch of PDFs with Carbone, extracts the files, and uploads them to Microsoft OneDrive.
  6. Posts an Adaptive Card summary (batch ID and document counts) to the configured Microsoft Teams channel.
  7. Uses Microsoft Graph $batch requests to update each processed Excel row with Status = Completed and sets ProcessedAt to the current timestamp.

Setup

  1. Add Microsoft 365 credentials for Microsoft Excel (OAuth2), Microsoft SharePoint, Microsoft OneDrive, and Microsoft Teams, plus a Carbone API credential.
  2. In the Config step, replace all placeholder IDs for the Excel workbook/worksheet, SharePoint template file IDs, OneDrive folder IDs, and the target Teams team and channel.
  3. Ensure your Excel sheet includes header columns named Status and ProcessedAt (and the fields used in the workflow such as Name, Email, Company, Role, DocumentType, CourseTitle, CompletionDate, and Score).
  4. Update the organization/signatory values (issuedBy and issuerName) and make sure your Carbone templates reference the workflow’s certificate and contract fields.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Schedule Trigger (Monday 8am)

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 7 - Config

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 8 - Fetch Header Row

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 9 - Read Pending Rows from Excel

Type / Role
n8n-nodes-base.microsoftExcel - microsoftExcel
Config choices
Version 2

Block 10 - Check Rows Exist

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 11 - Log No Rows

Type / Role
n8n-nodes-base.noOp - noOp
Config choices
Version 1

Block 12 - Build Carbone Batch Arrays

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 13 - Has Certificates?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 14 - Fetch Certificate Template

Type / Role
n8n-nodes-base.microsoftSharePoint - microsoftSharePoint
Config choices
Version 1

Block 15 - Generate Certificates Batch PDF

Type / Role
n8n-nodes-carbone.carbone - carbone
Config choices
Version 1

Block 16 - Extract Certificate Files from ZIP

Type / Role
n8n-nodes-base.compression - compression
Config choices
Version 1

Block 17 - Upload Certificate to OneDrive

Type / Role
n8n-nodes-base.microsoftOneDrive - microsoftOneDrive
Config choices
Version 1

Block 18 - Aggregate Certificate Uploads

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 19 - Has Contracts?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 20 - Fetch Contract Template

Type / Role
n8n-nodes-base.microsoftSharePoint - microsoftSharePoint
Config choices
Version 1

Block 21 - Generate Contracts Batch PDF

Type / Role
n8n-nodes-carbone.carbone - carbone
Config choices
Version 1

Block 22 - Extract Contract Files from ZIP

Type / Role
n8n-nodes-base.compression - compression
Config choices
Version 1

Block 23 - Upload Contract to OneDrive

Type / Role
n8n-nodes-base.microsoftOneDrive - microsoftOneDrive
Config choices
Version 1

Block 24 - Aggregate Contract Uploads

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Showing the first 24 of 28 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate bulk certificates and contracts with Carbone, Excel and OneDrive
Complexity advanced
Nodes 28
Categories Document Extraction, Multimodal AI
Author Mychel Garzon
Published 15 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16379/16379.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate bulk certificates and contracts with Carbone, Excel and OneDrive do?

Quick Overview This workflow runs every Monday and reads pending rows from a Microsoft Excel workbook, generates certificate and contract PDFs in bulk with Carbone using templates stored in SharePo...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction, Multimodal AI use case.