Power Automate to PowerPoint: Build a Scheduled REST API Workflow
Learn how to generate PowerPoint files from Microsoft Power Automate using a presentation REST API, asynchronous polling, secure storage, retries, and approval.
Microsoft Power Automate can collect data from SharePoint, Excel, Forms, Outlook, Dataverse, Power BI, and hundreds of connected systems. What it does not automatically provide is a complete, branded, decision-ready PowerPoint deck built from that data.
A presentation REST API fills that gap. Power Automate controls the trigger, data collection, approvals, storage, and delivery. The presentation service turns a validated brief or structured payload into an editable PPTX, PDF, or slide images.
Can Power Automate generate PowerPoint presentations?
Yes. Build a cloud flow that gathers approved data, sends an authenticated HTTP request to a presentation-generation API, stores the returned task ID, polls until generation finishes, downloads the PPTX, and routes it for review.
Good use cases for Power Automate and PowerPoint
- Weekly sales or pipeline presentations generated after CRM data is approved.
- Monthly operating reviews built from SharePoint, Excel, Power BI, or Dataverse.
- Customer proposal decks created after a deal reaches a defined stage.
- Project-status presentations generated from forms, Planner, Jira, or a project database.
- Training decks created from approved policies or lesson content.
- One presentation per region, account, product, or business unit.
The strongest workflows use a predictable data contract and template. If every run starts from unstructured emails and undocumented business rules, automation will amplify inconsistency.
Recommended Power Automate architecture
Recurrence, event, or manual trigger
→ read approved source records
→ validate required fields
→ compose presentation payload
→ call presentation REST API
→ save task ID
→ poll with delay and retry limits
→ download PPTX/PDF
→ quality checks and human approval
→ SharePoint, OneDrive, Teams, or email
Microsoft supports automated, instant, and scheduled cloud-flow triggers. Choose the trigger that matches the business event rather than forcing every presentation into a timer.
Step 1: Choose the right trigger
| Trigger | Best for | Example |
|---|---|---|
| Scheduled | Recurring reporting | Generate the operating review on the first business day each month |
| Automated event | System-driven decks | Create a proposal when an opportunity enters the proposal stage |
| Instant/manual | Controlled one-off generation | A manager selects an account and requests a deck |
| HTTP request | Application integration | An internal portal sends a validated presentation job |
For scheduled flows, set the time zone and recurrence deliberately. Confirm upstream data refreshes complete before presentation generation starts.
Step 2: Build a stable presentation payload
Use Power Automate’s data operations to create a predictable JSON object. Avoid sending every column from every connected system. Include only the approved facts and instructions needed for this deck.
{
"job_key": "north-america-2026-09-v3",
"title": "North America Monthly Business Review",
"audience": "Regional leadership",
"purpose": "Review performance and approve next actions",
"template_id": "approved-mbr-template",
"metrics": [
{"label": "Revenue", "value": "$4.2M", "change": "+7.7%"},
{"label": "Retention", "value": "94%", "change": "+2 pts"}
],
"risks": ["Pipeline concentration"],
"actions": [
{"owner": "Sales Ops", "action": "Rebalance coverage", "due": "2026-10-31"}
]
}
Validate required values before the HTTP action. If the reporting period, owner, template, or source record is missing, terminate the flow with a clear error instead of generating a misleading deck.
Step 3: Call the presentation API
Configure an HTTP action with the API endpoint, method, content type, authentication, and JSON body required by the presentation service. The exact fields depend on the API version and generation mode, so test the request in the provider’s playground before copying it into a production flow.
| HTTP setting | Typical value |
|---|---|
| Method | POST |
| URI | Your presentation-generation endpoint |
| Authorization | Server-managed bearer credential or approved connector |
| Content-Type | application/json |
| Body | The validated presentation payload |
Keep secrets in an approved connection or secure secret store. Do not paste production API keys into flow names, comments, Compose actions, chat messages, screenshots, or exported solution documentation.
Step 4: Handle asynchronous generation
Presentation generation may take longer than a normal connector action because the service is planning content, rendering slides, validating assets, and exporting files. A reliable flow treats generation as a job.
- Read the task ID. Save it immediately with the business job key.
- Add a delay. Avoid polling continuously.
- Check job status. Branch for queued, running, succeeded, and failed states.
- Limit attempts. Stop after a defined duration and create an actionable failure record.
- Use backoff. Increase the delay when a job remains active.
- Download only after success. Validate the returned file URL and expected output formats.
For high-volume use, separate the submission flow from the completion flow. One flow creates jobs; another scheduled worker checks pending tasks. This avoids tying up a single long-running flow.
Step 5: Store and name the presentation safely
Save the file with a deterministic name such as MBR_North-America_2026-09_v3.pptx. Store metadata beside it: task ID, source record IDs, reporting period, template version, generation time, and reviewer.
SharePoint and OneDrive are convenient destinations, but access still needs deliberate control. Use a restricted library, avoid public links, and apply the organization’s retention policy.
Step 6: Add validation and approval
A successful API response proves that a file was generated. It does not prove that the file is correct.
- Confirm the file exists and has the expected extension and minimum size.
- Check that the title, period, account, region, and template version match the source job.
- Reconcile key metrics with the original records.
- Require a named reviewer for customer, executive, legal, financial, or regulated content.
- Deliver only the approved version.
Power Automate approvals can route the file and its source summary to the appropriate owner. Record the approval decision and timestamp with the job.
Design error handling before production
| Failure | Recommended response |
|---|---|
| Missing source field | Stop before the API call and tell the owner exactly which field is missing |
| 401 or 403 | Check the connection, credential scope, environment, and secret rotation |
| 429 rate limit | Honor retry guidance, delay, and reduce concurrency |
| Generation timeout | Keep the job pending and let a later worker continue polling |
| Failed generation job | Store the provider error, source job key, and safe diagnostic context |
| Download expired | Retrieve the output promptly or request a new authorized URL |
| Duplicate trigger | Use an idempotent business key and return the existing job |
Security checklist for the flow
- Use environment variables or managed connection references for endpoints and credentials.
- Enable secure inputs and outputs where actions may contain sensitive payloads.
- Send only the minimum data needed to create the presentation.
- Keep customer and tenant data separated in storage and job records.
- Restrict who can edit, run, and inspect the flow.
- Define retention for payloads, generated files, run history, and failure logs.
- Review connector and licensing requirements in the target Power Platform environment.
Build your first Power Automate presentation flow
Start with one approved data source and one template. Prove the request, polling, storage, and review path before adding more systems or recipients.
Sources
Curious about something?
Find quick answers to common questions about generating presentations from documents.
Does Power Automate have a built-in PowerPoint generation action?
Power Automate can work with PowerPoint-related connectors and services, but a complete AI presentation workflow commonly uses an HTTP action or approved connector to call a dedicated presentation API.
Can the generated PowerPoint remain editable?
Yes, if the presentation service returns a native editable PPTX rather than a deck made only from flattened slide images.
Can I trigger the flow from SharePoint or Microsoft Forms?
Yes. Use an automated trigger when a list item, file, form response, or other supported business event is created or updated.
How should I handle a presentation job that takes several minutes?
Store the task ID, poll with delays and an attempt limit, and consider a separate worker flow for long-running or high-volume jobs.
Can I email the PowerPoint automatically?
You can, but route sensitive or external decks through validation and approval first. Automatic delivery should be the last step, not the default first version of the workflow.
