Skip to main content

Power Automate Guide

~10 min

Connect StemSplit to Microsoft 365 and enterprise workflows

Perfect For

SharePoint
Process uploads
Teams
Bot integration
OneDrive
Auto-process files

Prerequisites

  • StemSplit account with API key
  • Microsoft 365 account with Power Automate access
  • Premium connector license (for HTTP actions)
1

Get Your API Key

  1. Log in to StemSplit Settings
  2. Create a new API key named "Power Automate"
  3. Copy the key - you'll need it in the next step
2

Create a New Flow

  1. Go to Power Automate
  2. Click Create Automated cloud flow
  3. Choose your trigger, e.g.:
    • SharePoint - When a file is created
    • OneDrive - When a file is created
    • Outlook - When an email arrives with attachment
3

Add HTTP Action: Create Job

Add an HTTP action (premium connector):

MethodPOST
URIhttps://stemsplit.io/api/v1/jobs
HeadersAuthorization: Bearer sk_live_xxx
Content-Type: application/json
Body
{
  "sourceUrl": "@{triggerOutputs()?['body/{Link}']}",
  "outputType": "BOTH",
  "quality": "BEST",
  "outputFormat": "MP3"
}

Note: The file must be publicly accessible via URL. For SharePoint files, use "Get file content" first, then upload to a temporary public location.

4

Add Delay Action

Add a Delay action to wait for processing:

  • Count: 3
  • Unit: Minute

For longer files, use "Do until" loop with status check instead.

5

Get Job Results

Add another HTTP action:

MethodGET
URIhttps://stemsplit.io/api/v1/jobs/@{body('HTTP')['id']}
HeadersAuthorization: Bearer sk_live_xxx
6

Save to SharePoint/OneDrive

Add HTTP actions to download each stem, then SharePoint - Create file:

  1. HTTP - GET @{body('HTTP_2')['outputs']['vocals']['url']}
  2. Create file - File Content: @{body('HTTP_3')}
  3. Repeat for instrumental

Pro Tips

  • • Store API key in Azure Key Vault for enterprise security
  • • Use Parse JSON action after HTTP calls for easier data access
  • • Add Condition to check job.status before proceeding
  • • Consider Premium connectors license for HTTP actions
  • • Use Try-Catch scope for error handling