Scenario 1: Transcribe Call with AssemblyAI
Configured with HTTP Request, Supabase, Webhook. Review the connections and setup before adapting this template.
Node categories in this workflow
- Trigger
- Transform
- Web / API
- Routing
- Data store
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| When clicking ‘Test workflow’ | Trigger | Manual Trigger | See node parameters |
| Set link to audio | Transform | Edit Fields | See node parameters |
| AssemblyAI - Transcribe | Web / API | HTTP Request | POST |
| If | Routing | If | See node parameters |
| AssemblyAI - Get transcription | Web / API | HTTP Request | See node parameters |
| OpenAI - Analyze call | Web / API | HTTP Request | POST |
| Set vars | Transform | Edit Fields | See node parameters |
| Create record | Data store | Supabase | See node parameters |
| Webhook | Trigger | Webhook | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
httpHeaderAuthopenAiApisupabaseApi
Workflow notes
Sticky Note
Replace API key in Header, webhook from 2nd scenario, change settings if needed
Sticky Note1
Replace this link with direct link on your audio
Sticky Note3
Replace API key and webhook
Sticky Note4
Replace OpenAI connection
Scenario 1: Transcribe Call with AssemblyAI
Scenario 1: Transcribe Call with AssemblyAI
- Set Up Request:
- Header Authentication: Set
Authorizationwith AssemblyAI API key. - URL: POST to
https://api.assemblyai.com/v2/transcript/. - Parameters:
audio_url: Direct URL of the audio file.webhook_url: URL for an N8N webhook to receive the transcription result.- Additional Settings:
speaker_labels(true/false): Enables speaker diarization.speakers_expected: Specify expected number of speakers.language_code: Set language (default:en_us).
- Header Authentication: Set
Scenario 2: Process Transcription with OpenAI
-
Webhook Configuration: Set up a POST webhook to receive AssemblyAI’s transcription data.
-
Get Transcription:
- Header Authentication: Set
Authorizationwith AssemblyAI API key. - URL: GET
https://api.assemblyai.com/v2/transcript/<transcript_id>.
- Header Authentication: Set
-
Send to OpenAI:
- URL: POST to
https://api.openai.com/v1/chat/completions. - Header Authentication: Set
Authorizationwith OpenAI API key. - Body Parameters:
- Model: Use
gpt-4o-2024-08-06for JSON Schema support, orgpt-4o-minifor a less costly option. - Messages:
system: Contains the main analysis prompt.user: Combined speakers’ utterances to analyze in text format.
- Response Format:
type:json_schema.json_schema: JSON schema for structured responses.
- Model: Use
- URL: POST to
-
Save Results in Supabase:
- Operation: Create a new record.
- Table Name:
demo_calls. - Fields:
- Input: Transcription text, audio URL, and transcription ID.
- Output: Parsed JSON response from OpenAI’s analysis.
Call analyzer with AssemblyAI transcription and OpenAI assistant integration
Call analyzer with AssemblyAI transcription and OpenAI assistant integration
Made by Mark Shcherbakov from community 5minAI
Many follow-up sales calls lack structured analysis, making it challenging to identify client needs, gauge interest levels, or uncover upsell opportunities. This workflow enables automated call transcription and AI-driven analysis to generate actionable insights, helping teams improve sales performance, refine client communication, and streamline upselling strategies.
This workflow transcribes and analyzes sales calls using AssemblyAI, OpenAI, and Supabase to store structured data. The workflow processes recorded calls as follows:
- Transcribe Call with AssemblyAI: Converts audio into text with speaker labels for clarity.
- Analyze Transcription with OpenAI: Using a predefined JSON schema, OpenAI analyzes the transcription to extract metrics like client intent, interest score, upsell opportunities, and more.
- Store and Access Results in Supabase: Stores both transcription and analysis data in a Supabase database for further use and display in interfaces.
Sticky Note7
Replace prompt and JSON schema
Sticky Note10
If you change speaker_labels to false it will require change user message in OpenAI and Supabase nodes
Sticky Note11
Replace Supabase connection
Scenario 1: Transcribe Call with AssemblyAI
Scenario 1: Transcribe Call with AssemblyAI
Purpose and structure
This folder contains the Scenario 1: Transcribe Call with AssemblyAI workflow. Its executable nodes use httpRequest, if, manualTrigger, set, supabase, webhook. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
When clicking ‘Test workflow’, Webhook
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Webhook/0632_Webhook_Manual_Create_Webhook.json MIT; preserve source notices.
Canvas section labels
These name areas of the original canvas; they do not include explanatory instructions.
- Scenario 2
- Scenario 1