calcom/cal.diy · error · Error
Default conferencing app '${defaultApp.appSlug}' doesnt exis
Error message
Default conferencing app '${defaultApp.appSlug}' doesnt exist. What it means
Thrown by bulkUpdateTeamEventsToDefaultLocation when the team's defaultConferencingApp.appSlug does not resolve to a valid app with a location type via getAppFromSlug. Team-level counterpart of the user version: the stored team default refers to an app that no longer exists or lacks a conferencing location.
Source
Thrown at packages/app-store/_utils/bulkUpdateTeamEventsToDefaultLocation.ts:30
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,
},
});
return await prisma.eventType.updateMany({
where: {
id: {
in: eventTypeIds,
},
teamId,View on GitHub (pinned to 176037d0af)
Solutions
- Have a team admin re-select a current default conferencing app in team settings.
- Migrate team metadata slugs if an app was renamed in an upgrade.
- Ensure the target app is installed/generated so getAppFromSlug resolves it.
- Guard callers and prompt re-selection when the slug is invalid.
Example fix
// before
await bulkUpdateTeamEventsToDefaultLocation({ eventTypeIds, teamId, prisma });
// after
const slug = parsed.data?.defaultConferencingApp?.appSlug;
if (!slug || !getAppFromSlug(slug)?.appData?.location?.type) {
return res.status(400).json({ message: 'Team default conferencing app unavailable' });
} Defensive patterns
Strategy: validation
Validate before calling
import { getAppFromSlug } from '@calcom/app-store/utils';
const slug = parsed.data?.defaultConferencingApp?.appSlug;
if (!slug || !getAppFromSlug(slug)?.appData?.location?.type) {
return res.status(400).json({ message: 'Team default conferencing app unavailable' });
} Type guard
function isUsableTeamConferencingApp(slug: string): boolean {
return !!getAppFromSlug(slug)?.appData?.location?.type;
} Try / catch
null
Prevention
- Validate the team's stored slug resolves to a valid conferencing app before bulk update.
- Migrate team metadata slugs across app renames.
- Prompt team admins to re-select a default when an app is removed.
When it happens
Trigger: Team metadata.defaultConferencingApp.appSlug is set but getAppFromSlug returns undefined, or the found app has no appData.location.type. Occurs after an app is uninstalled/renamed/disabled while the team default still references it.
Common situations: App slug renamed across versions; app package removed; team metadata edited manually; app feature-flagged off; non-conferencing app mistakenly set as the team default.
Related errors
- Default conferencing app '${defaultApp.appSlug}' doesnt exis
- Default conferencing app not set
- Default conferencing app not set
- Team with id ${teamId} not found
- Access denied. Either the team with ID=${teamId} does not ow
AI-assisted analysis of calcom/cal.diy@176037d0af (2026-08-12).
Data as JSON: /api/errors/3105428e6eb86485.
Report an issue: GitHub.