calcom/cal.diy · error · Error
Default conferencing app not set
Error message
Default conferencing app not set
What it means
Thrown by bulkUpdateTeamEventsToDefaultLocation when the team's metadata (parsed via teamMetadataSchema) has no defaultConferencingApp. This is the team-level analogue of the user bulk update: it applies a default conferencing location to team event types and requires a team default conferencing app to be configured first.
Source
Thrown at packages/app-store/_utils/bulkUpdateTeamEventsToDefaultLocation.ts:24
export const bulkUpdateTeamEventsToDefaultLocation = async ({
eventTypeIds,
teamId,
prisma,
}: {
eventTypeIds: number[];
teamId: number;
prisma: PrismaClient;
}) => {
const team = await prisma.team.findUnique({
where: { id: teamId },
select: { metadata: true },
});
const metadataResult = teamMetadataSchema.safeParse(team?.metadata);
const defaultApp = metadataResult.success ? metadataResult.data?.defaultConferencingApp : null;
if (!defaultApp) {
throw new Error("Default conferencing app not set");
}
const foundApp = getAppFromSlug(defaultApp.appSlug);
const appType = foundApp?.appData?.location?.type;
if (!appType) {
throw new Error(`Default conferencing app '${defaultApp.appSlug}' doesnt exist.`);
}
const credential = await prisma.credential.findFirst({
where: {
teamId,
appId: foundApp.slug,
},
select: {
id: true,
},
});
View on GitHub (pinned to 176037d0af)
Solutions
- Have a team admin set the team's default conferencing app in team settings before the bulk action.
- Guard the caller: parse team metadata and skip/prompt when defaultConferencingApp is missing.
- Repair malformed team metadata if safeParse is failing.
Example fix
// before
await bulkUpdateTeamEventsToDefaultLocation({ eventTypeIds, teamId, prisma });
// after
const team = await prisma.team.findUnique({ where: { id: teamId }, select: { metadata: true } });
const parsed = teamMetadataSchema.safeParse(team?.metadata);
if (!parsed.success || !parsed.data?.defaultConferencingApp) {
return res.status(400).json({ message: 'Team has no default conferencing app' });
} Defensive patterns
Strategy: validation
Validate before calling
import { teamMetadata as teamMetadataSchema } from '@calcom/prisma/zod-utils';
const parsed = teamMetadataSchema.safeParse(team?.metadata);
if (!parsed.success || !parsed.data?.defaultConferencingApp) {
return res.status(400).json({ message: 'Team has no default conferencing app' });
} Type guard
function teamHasDefaultConferencingApp(metadata: unknown): boolean {
const parsed = teamMetadataSchema.safeParse(metadata);
return !!parsed.success && !!parsed.data?.defaultConferencingApp;
} Try / catch
null
Prevention
- Require a team admin to set a default conferencing app before exposing the bulk action.
- Validate team metadata before calling bulkUpdateTeamEventsToDefaultLocation.
- Repair malformed team metadata so safeParse succeeds.
When it happens
Trigger: Calling bulkUpdateTeamEventsToDefaultLocation for a team whose metadata.defaultConferencingApp is unset, null, or failed schema parsing (metadataResult.success is false). Triggered by a team admin action before the team has a default conferencing app.
Common situations: Team admin clicks 'apply default location to all team events' without configuring the team's default conferencing app; team metadata is null or malformed; a new team with no metadata yet.
Related errors
- Default conferencing app not set
- Default conferencing app '${defaultApp.appSlug}' doesnt exis
- teamId is required for team events, please provide a valid t
- Default conferencing app '${defaultApp.appSlug}' doesnt exis
- Team with id ${teamId} not found
AI-assisted analysis of calcom/cal.diy@176037d0af (2026-08-12).
Data as JSON: /api/errors/e6d465a42bc22ca5.
Report an issue: GitHub.