Happy scribe

Learn how to use Happy scribe with Composio

Overview

SLUG: HAPPY_SCRIBE

Description

Happy Scribe offers automatic and professional transcription services, converting audio and video files into text with high accuracy.

Authentication Details

generic_api_key
stringRequired

Connecting to Happy scribe

Create an auth config

Use the dashboard to create an auth config for the Happy scribe toolkit. This allows you to connect multiple Happy scribe accounts to Composio for agents to use.

1

Select App

Navigate to [Happy scribe](https://platform.composio.dev?next_page=/marketplace/Happy scribe).

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Happy scribe Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4happy_scribe_auth_config_id = "ac_YOUR_HAPPY_SCRIBE_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Happy scribe for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, happy_scribe_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the [Happy scribe toolkit’s playground](https://app.composio.dev/app/Happy scribe)

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["HAPPY_SCRIBE"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create Subtitle

Description

Tool to generate subtitles for a video file by creating a transcription with the is_subtitle flag. Use after confirming the media URL is publicly accessible and valid.

Action Parameters

transcription
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Transcription

Description

Tool to initiate a new transcription job using a publicly accessible or signed URL. Use when you have uploaded a media file and want to start transcription immediately.

Action Parameters

transcription
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Translation Task

Description

Tool to create a translation task for a transcription (deprecated). Use after transcription is complete to request translation.

Action Parameters

source_transcription_id
stringRequired
target_language
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Transcription

Description

Tool to delete a transcription job. Use when you have a transcription ID and want to remove it, optionally permanently. Use after confirming the transcription ID.

Action Parameters

id
stringRequired
permanent
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Webhook

Description

Tool to delete a specific webhook. Use when you need to remove a webhook after confirming its identifier.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Export Subtitle

Description

Tool to export subtitle in the requested format. Use after transcription is completed.

Action Parameters

export
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Account Details

Description

Tool to retrieve details about your account, including subscription status and usage statistics. Use after authenticating your API key to monitor plan and usage.

Action Parameters

organization_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Supported Languages

Description

Tool to retrieve supported language codes and names. Use when you need the list of valid languages for transcription or subtitle services.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get API Rate Limit

Description

Tool to retrieve current API rate limits. Since Happy Scribe does not expose a dedicated rate limit endpoint, we attempt to read standard rate-limit headers from lightweight GET endpoints (/transcriptions or /version). If headers are unavailable, we fall back to documented defaults (200 requests/hour) with a best-effort estimate.

Action Parameters

endpoint_preference
string
organization_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Confirm Order

Description

Tool to confirm a pending order. Use after creating an order with confirm=false when you're ready to submit it for processing.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Translation Order

Description

Tool to create a translation order from an existing transcription. Use when you have a completed transcription and want translations into one or more languages. By default, the order remains incomplete unless confirm=true.

Action Parameters

order
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Subtitle Job

Description

Tool to delete a specific subtitle job. Use when you need to remove a transcription job by its ID after confirming the identifier.

Action Parameters

id
stringRequired
permanent
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Export Transcription

Description

Tool to export transcription results in various formats. Use after transcription completes to create an export job.

Action Parameters

format
stringRequired
showComments
boolean
showHighlights
boolean
showHighlightsOnly
boolean
showSpeakers
boolean
showTimestamps
boolean
timestampsFrequency
string
transcriptionIds
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get API Version

Description

Tool to retrieve current API version and check for updates. If Happy Scribe does not expose a dedicated /version endpoint, this tool attempts to infer the version from HTTP response headers or from the base_url path (e.g., /api/v1).

Action Parameters

endpoint_preference
string
organization_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Error Codes

Description

Tool to fetch a list of API error codes and their descriptions. Use when you need to understand potential error responses.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Subtitle

Description

Tool to retrieve the details and status of a specific subtitle job using its unique identifier. Use when you need to check subtitle job status after submission.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Supported Formats

Description

Tool to retrieve supported file formats. Use when you need to know available input and output formats before creating a transcription or subtitle. If a dedicated '/formats' endpoint is unavailable, this action probes known endpoints to verify connectivity and returns a curated list based on official documentation.

Action Parameters

export_category
stringDefaults to all
include_audio
booleanDefaults to True
include_video
booleanDefaults to True
limit
integer
test_note
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Transcription Details

Description

Tool to retrieve details and status of a specific transcription job. Use after creating or listing transcription jobs to inspect a particular job's metadata.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Webhooks

Description

Tool to retrieve a list of webhooks configured for your account. Use when you need to view your webhook subscriptions after setup.

Action Parameters

organization_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Subtitles

Description

Tool to list subtitle jobs for an organization. Use when you need to retrieve subtitle-specific transcription records with optional filters.

Action Parameters

folder_id
string
from
string
organization_id
stringRequired
page
integer
status
string
tags
array
to
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Export

Description

Tool to retrieve information about a specific export. Use when you need to check export status and get download link.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Translation Task

Description

Tool to retrieve a translation task by ID (deprecated). Use after creating or listing legacy translation tasks to inspect their status and details.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Transcriptions

Description

Tool to list all transcription jobs for an organization with optional filters. Use after you need to fetch transcription records (supports pagination, folder, and tags).

Action Parameters

folder_id
string
organization_id
stringRequired
page
integer
tags
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Order

Description

Tool to retrieve an order by ID. Use when you need details of a specific order after creation.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired