calcom/cal.diy · error · Error
Something went wrong! Unable to submit batch processor job
Error message
Something went wrong! Unable to submit batch processor job
What it means
Thrown by submitBatchProcessorJob. It POSTs a batch-processor body to Daily via postToDailyAPI('/batch-processor', body) and validates the result with ZSubmitBatchProcessorJobRes. Any network failure, non-2xx Daily response, or Zod parse failure is collapsed into this generic message.
Source
Thrown at packages/app-store/dailyvideo/lib/VideoApiAdapter.ts:470
const allTranscriptsIds = allTranscripts.data.map((transcript) => transcript.transcriptId);
const allTranscriptsAccessLink = await processTranscriptsInBatches(allTranscriptsIds);
const accessLinks = await Promise.all(allTranscriptsAccessLink);
return Promise.resolve(accessLinks);
} catch (err) {
console.log("err", err);
throw new Error("Something went wrong! Unable to get transcription access link");
}
},
submitBatchProcessorJob: async (body: batchProcessorBody): Promise<TSubmitBatchProcessorJobRes> => {
try {
const batchProcessorJob = await postToDailyAPI("/batch-processor", body).then(
ZSubmitBatchProcessorJobRes.parse
);
return batchProcessorJob;
} catch (err) {
console.log("err", err);
throw new Error("Something went wrong! Unable to submit batch processor job");
}
},
getTranscriptsAccessLinkFromRecordingId: async (
recordingId: string
): Promise<TGetTranscriptAccessLink["transcription"] | { message: string }> => {
try {
const batchProcessorJobs = await fetcher(`/batch-processor?recordingId=${recordingId}`).then(
getBatchProcessJobs.parse
);
if (!batchProcessorJobs.data.length) {
return { message: `No Batch processor jobs found for recording id ${recordingId}` };
}
const transcriptJobId = batchProcessorJobs.data.filter(
(job) => job.preset === "transcript" && job.status === "finished"
)?.[0]?.id;
if (!transcriptJobId) return [];View on GitHub (pinned to 176037d0af)
Solutions
- Read the swallowed original error from the console.log to distinguish network vs. parse vs. Daily-API failure.
- Validate body against batchProcessorBody before calling (e.g. ensure preset and recordingId are present).
- Confirm the Daily integration has batch-processor entitlement and a valid API key.
- Compare the live Daily /batch-processor response with ZSubmitBatchProcessorJobRes and update if drifted.
- Re-throw with the original cause preserved.
Example fix
// before
} catch (err) {
console.log("err", err);
throw new Error("Something went wrong! Unable to submit batch processor job");
}
// after
} catch (err) {
throw new Error(`Unable to submit Daily batch processor job: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
} Defensive patterns
Strategy: validation
Validate before calling
import { z } from "zod";
const batchBodySchema = z.object({
recordingId: z.string().min(1),
preset: z.enum(["transcript", "mp4", "text"]),
});
const parsed = batchBodySchema.parse(body); Type guard
const isBatchProcessorBody = (b: unknown): b is { recordingId: string; preset: string } =>
typeof b === "object" && b !== null && typeof (b as any).recordingId === "string" && typeof (b as any).preset === "string"; Try / catch
try {
const job = await adapter.submitBatchProcessorJob(body);
} catch (err) {
if (err instanceof Error && /submit batch processor/i.test(err.message)) {
logger.error("batch submit failed", { body, cause: err });
}
throw err;
} Prevention
- Validate body shape with Zod before submitting.
- Confirm recordingId exists via getRecordings before submitting a transcript job.
- Check Daily workspace entitlements for the batch-processor feature.
When it happens
Trigger: submitBatchProcessorJob(body) called with a body that Daily rejects (e.g. missing recordingId, unsupported preset), when Daily returns 4xx/5xx, when postToDailyAPI throws due to missing credentials, or when the response does not match ZSubmitBatchProcessorJobRes.
Common situations: Daily batch-processor feature not enabled for the workspace; body.recordingId points to a deleted recording; Daily API key invalid; response schema drift after a Daily API version bump.
Related errors
- Something went wrong! Unable to get transcription access lin
- Something went wrong! Unable to get meeting information
- Something went wrong! can't get transcripts
- Something went wrong! Unable to checkIfRoomNameMatchesInReco
- Could not add this apple calendar account: ${reason}
AI-assisted analysis of calcom/cal.diy@176037d0af (2026-08-12).
Data as JSON: /api/errors/706c8cb778fcbc9b.
Report an issue: GitHub.