Production

SharePoint
Voiceflow KB Sync

7-step Make.com automation pipeline that polls SharePoint every minute for new or modified documents, downloads binary content, POSTs to Voiceflow KB with overwrite=true, and confirms READY state — eliminating manual KB maintenance entirely.

Client
Empowered Pensions
Year
2026
Role
Builder & Architect
Stack
Make.com SharePoint Online Voiceflow KB API HTTP Multipart SSE Polling
<1min
end-to-end sync latency
0min
manual upload time
100%
KB coverage
0
duplicate docs

Stale AI answers from a manual KB

Empowered Pensions's Voiceflow AI assistant (Bob) was serving stale answers because KB managers had to manually re-upload SharePoint documents after every edit. With 4 active playbooks, drift was measurable within days.

Support agents operating through Bob received outdated answers routed from stale KB docs. The system needed to close the loop automatically — no human in the upload chain.

The Make.com workflow

FAILURE NOTIFIER/TAH — Make.com Scenario Editor
Make.com workflow showing 7-step SharePoint to Voiceflow sync pipeline
Make.com scenario: SharePoint Watch → HTTP GET → HTTP POST → Sleep → HTTP GET status poll → Set Variable

7-step automated sync pipeline

// System Pipeline SharePoint Watch (1min) → filetype filter (PDF/DOCX allowlist) → HTTP GET binary download → HTTP POST multipart to /v1/knowledge-base/docs/upload?overwrite=trueTools Sleep 60s → HTTP GET status poll → Set Variable audit log
01
SharePoint Online · Watch Trigger
Watch Files/Folders
Polls the target document library every 1 minute for new or modified files. Fires once per detected delta — outputs file metadata including name, ID, and direct download URL.
02
Make Filter · Extension Check
Filetype Filter Gate
Checks the file extension against an allowlist (PDF, DOCX). Images, spreadsheets, and ZIP archives are dropped here — no downstream modules execute for filtered items.
03
HTTP · GET · SharePoint Download URL
Download File Content
HTTP GET hits the SharePoint direct download URL from Step 01. Returns raw binary file content. Mandatory — the Watch trigger provides metadata only, not the file body.
04
HTTP · POST · Voiceflow KB Upload
Upload to Voiceflow KB
HTTP POST to /v1/knowledge-base/docs/upload?overwrite=true. Body is multipart/form-data with the binary file from Step 03. Authorization header carries the Voiceflow project API key.
05
Tools · Sleep · Async Wait
Sleep: 1 Minute
Voiceflow processes and indexes uploaded documents asynchronously. The Sleep module holds execution for 60 seconds after a successful POST, giving Voiceflow time to reach READY state before the status poll fires.
06
HTTP · GET · Status Poll
Verify Ingestion Status
HTTP GET polls the Voiceflow document status endpoint to confirm the uploaded file reached READY state. Returns document status, ID, and metadata. If status is not READY, the Verify Success filter drops execution.
07
Tools · Set Variable · Audit Log
Record Sync Result
Stores the confirmed sync result — document ID, filename, status, and timestamp — as a scenario variable. Can be routed downstream to Google Sheets, Slack, or a webhook for full visibility into every completed sync event.

Why it works the way it does

01
overwrite=true makes the sync idempotent — the same file re-uploaded replaces its prior version without duplication, as long as the filename is stable. No deduplication logic needed.
02
Sleep module is mandatory: Voiceflow indexes asynchronously. Polling without the 60s wait returns a pending state, causing false negatives on the verification step.
03
Filetype gate runs before any HTTP call — images, ZIPs, and spreadsheets are dropped at the filter step, not after a failed upload attempt. Keeps API usage clean and scenarios lean.
04
Scenario variable as audit log anchor — every confirmed sync event is stored with timestamp and document ID, ready to route to Google Sheets or Slack without rebuilding the core pipeline.