Skip to main content

Examples

Create from URL with webhook​

import { Conduit } from "@mappa-ai/conduit"

const conduit = new Conduit({ apiKey: process.env.CONDUIT_API_KEY! })

const receipt = await conduit.reports.create({
source: { url: "https://example.com/recording.mp3" },
output: { template: "general_report" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/webhooks/conduit" },
idempotencyKey: "report:user_42:recording_1",
})

console.info(receipt.jobId)

Create from local file​

import { readFile } from "node:fs/promises"

const audio = await readFile("./recording.mp3")

await conduit.reports.create({
source: { file: audio, label: "recording" },
output: { template: "general_report" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/webhooks/conduit" },
})

Create from existing media id​

await conduit.reports.create({
source: { mediaId: "media_abc123" },
output: { template: "sales_playbook" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/webhooks/conduit" },
})

Webhook handler​

const payload = await req.text()

await conduit.webhooks.verifySignature({
payload,
headers: Object.fromEntries(req.headers),
secret: process.env.CONDUIT_WEBHOOK_SECRET!,
})

const event = conduit.webhooks.parseEvent(payload)
if (event.type === "report.completed") {
const report = await conduit.reports.get(event.data.reportId)
console.info(report.id)
}

Fallback wait (non-default)​

const receipt = await conduit.reports.create({
source: { url: "https://example.com/call.mp3" },
output: { template: "general_report" },
target: { strategy: "dominant" },
})

const report = await receipt.handle?.wait({ timeoutMs: 10 * 60_000 })
console.info(report?.id)

Matching​

import { Conduit } from "@mappa-ai/conduit"

const conduitClient = new Conduit({ apiKey: process.env.CONDUIT_API_KEY! })

const receipt = await conduitClient.matching.create({
context: "hiring_team_fit",
target: { entityId: "entity_1" },
group: [{ entityId: "entity_2" }],
})

console.info(receipt.jobId)