calcom/cal.diy · error · Error

Something went wrong! Unable to get meeting information

Error message

Something went wrong! Unable to get meeting information

What it means

Thrown by getMeetingInformation. It calls GET /meetings?room=<encoded roomName>, parses the result with getMeetingInformationResponseSchema, and returns it. Any failure (fetch, parse, Daily non-2xx) is collapsed into this generic message.

Source

Thrown at packages/app-store/dailyvideo/lib/VideoApiAdapter.ts:515

    },
    checkIfRoomNameMatchesInRecording: async (roomName: string, recordingId: string): Promise<boolean> => {
      try {
        const recording = await fetcher(`/recordings/${recordingId}`).then(recordingItemSchema.parse);
        return recording.room_name === roomName;
      } catch (err) {
        console.error("err", err);
        throw new Error(`Something went wrong! Unable to checkIfRoomNameMatchesInRecording. ${err}`);
      }
    },
    getMeetingInformation: async (roomName: string): Promise<TGetMeetingInformationResponsesSchema> => {
      try {
        const res = await fetcher(`/meetings?room=${encodeURIComponent(roomName)}`).then(
          getMeetingInformationResponseSchema.parse
        );
        return res;
      } catch (err) {
        console.error("err", err);
        throw new Error("Something went wrong! Unable to get meeting information");
      }
    },
  };
};

export default DailyVideoApiAdapter;

View on GitHub (pinned to 176037d0af)

Solutions

  1. Inspect console.error('err', err) on the server for the underlying cause.
  2. Confirm the roomName corresponds to a real Daily room.
  3. Verify Daily app credentials are configured.
  4. Update getMeetingInformationResponseSchema if Daily's response shape changed.
  5. Re-throw with the original cause attached.

Example fix

// before
} catch (err) {
  console.error("err", err);
  throw new Error("Something went wrong! Unable to get meeting information");
}

// after
} catch (err) {
  throw new Error(`Unable to get Daily meeting information for room ${roomName}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
}
Defensive patterns

Strategy: try-catch

Validate before calling

if (!roomName || typeof roomName !== "string") throw new TypeError("roomName required");

Type guard

const isMeetingInfo = (v: unknown): v is { data: unknown } =>
  typeof v === "object" && v !== null && "data" in (v as any);

Try / catch

try {
  const info = await adapter.getMeetingInformation(roomName);
} catch (err) {
  logger.error("meeting info failed", { roomName, cause: err instanceof Error ? err.message : err });
  throw err;
}

Prevention

When it happens

Trigger: roomName that Daily does not recognize, Daily returns an error status, network failure, or the meetings response shape does not match getMeetingInformationResponseSchema.

Common situations: Querying meeting info for a room that was never created or has been deleted; Daily credentials missing/invalid; Daily changed their meetings payload; rate limit exceeded.

Related errors


AI-assisted analysis of calcom/cal.diy@176037d0af (2026-08-12). Data as JSON: /api/errors/47954e4d3032833b. Report an issue: GitHub.