Speak AI ACTION
Run AI Chat
Ask a question about Speak AI media and get the answer back. Scope the question to specific media files, to a whole folder, or to both. Answers are only as good as the prompt, so be specific about the output wanted. Media must finish analyzing first. See the documentation.
- Action
- Writes data
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Speak AI account once, then configure and run Run AI Chat from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "speak_ai-run-ai-chat",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
speak_ai: { authProvisionId: "apn_xxxxxxx" },
prompt: "Prompt",
folderId: "Folder ID",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "speak_ai-run-ai-chat",
"configured_props": {
"speak_ai": { "authProvisionId": "apn_xxxxxxx" },
"prompt": "Prompt",
"folderId": "Folder ID"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "speak_ai",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "speak_ai-run-ai-chat",
arguments: {
prompt: "Prompt",
folderId: "Folder ID",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
prompt Prompt | string | The question or instruction for the AI to answer about the media, e.g. Summarize the key action items from this transcript. Be as descriptive as possible to get an accurate answer Required |
folderId Folder ID | string | A Speak AI folder ID, for example 905c208f1c07. Get it from the folderId field returned by Speak AI. Answer the prompt from every media file in this folder. Set this, Media IDs, or both. Optional Dynamic |
mediaIds Media IDs | string[] | One or more Speak AI media IDs to answer the prompt from, e.g. f8eb3c22bec3. Returned as mediaId by Upload Media and by every media trigger in this app Optional Dynamic |
assistantType Assistant Type | string | The assistant persona used to answer the prompt: general (default), researcher for academic analysis, marketer for content, sales for deal insights, or recruiter for hiring Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- speak_ai-run-ai-chat
- Version
- 0.0.2
- App
- Speak AI
- Authentication
- OAuth
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗