Skip to main content

Quickstart

1) Install​

npm install @mappa-ai/conduit

2) Set API key​

export CONDUIT_API_KEY="your_api_key_here"

3) Create a report job​

quickstart.ts
import { Conduit } from "@mappa-ai/conduit";

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

const receipt = await conduitClient.reports.create({
source: { url: "https://example.com/sales-call.mp3" },
output: { template: "sales_playbook" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/webhooks/conduit" },
});

console.info(receipt.jobId, receipt.status);

4) Run​

node quickstart.ts

4) Handle completion​

const payload = await req.text()

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

const event = conduitClient.webhooks.parseEvent(payload)
if (event.type !== "report.completed") return new Response("ok")

const report = await conduitClient.reports.get(event.data.reportId)
console.info(report.id, report.markdown)

Local-dev fallback​

const receipt = await conduitClient.reports.create({
source: { path: "./sales-call.mp3" },
output: { template: "sales_playbook" },
target: { strategy: "dominant" },
})

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