diff --git a/apps/web/pages/apps/[slug]/index.tsx b/apps/web/pages/apps/[slug]/index.tsx
index adc35ee727702e..c961f547e28f1b 100644
--- a/apps/web/pages/apps/[slug]/index.tsx
+++ b/apps/web/pages/apps/[slug]/index.tsx
@@ -6,6 +6,7 @@ import path from "path";
import { z } from "zod";
import { getAppWithMetadata } from "@calcom/app-store/_appRegistry";
+import { getAppAssetFullPath } from "@calcom/app-store/getAppAssetFullPath";
import prisma from "@calcom/prisma";
import type { inferSSRProps } from "@lib/types/inferSSRProps";
@@ -108,9 +109,11 @@ export const getStaticProps = async (ctx: GetStaticPropsContext) => {
const { content, data } = sourceSchema.parse({ content: result.content, data: result.data });
if (data.items) {
data.items = data.items.map((item) => {
- if (typeof item === "string" && !item.includes("/api/app-store")) {
- // Make relative paths absolute
- return `/api/app-store/${appDirname}/${item}`;
+ if (typeof item === "string") {
+ return getAppAssetFullPath(item, {
+ dirName: singleApp.dirName,
+ isTemplate: singleApp.isTemplate,
+ });
}
return item;
});
diff --git a/packages/app-store/_appRegistry.ts b/packages/app-store/_appRegistry.ts
index 7b7615077025fb..b8b979d3cfe2ef 100644
--- a/packages/app-store/_appRegistry.ts
+++ b/packages/app-store/_appRegistry.ts
@@ -11,10 +11,6 @@ export async function getAppWithMetadata(app: { dirName: string }) {
// Let's not leak api keys to the front end
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { key, ...metadata } = appMetadata;
- if (metadata.logo && !metadata.logo.includes("/api/app-store/")) {
- const appDirName = `${metadata.isTemplate ? "templates" : ""}/${app.dirName}`;
- metadata.logo = `/api/app-store/${appDirName}/${metadata.logo}`;
- }
return metadata;
}
diff --git a/packages/app-store/amie/DESCRIPTION.md b/packages/app-store/amie/DESCRIPTION.md
index 011c2862b2eb15..7ff45b24414197 100644
--- a/packages/app-store/amie/DESCRIPTION.md
+++ b/packages/app-store/amie/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
items:
- - /api/app-store/amie/1.jpg
- - /api/app-store/amie/2.jpg
- - /api/app-store/amie/3.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
---
diff --git a/packages/app-store/amie/config.json b/packages/app-store/amie/config.json
index b83e145802c7bc..cd7c7d06b9c987 100644
--- a/packages/app-store/amie/config.json
+++ b/packages/app-store/amie/config.json
@@ -3,8 +3,7 @@
"name": "Amie",
"slug": "amie",
"type": "amie_other",
- "imageSrc": "/api/app-store/amie/icon.svg",
- "logo": "/api/app-store/amie/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/amie",
"variant": "other",
"categories": ["calendar"],
diff --git a/packages/app-store/appStoreMetaData.ts b/packages/app-store/appStoreMetaData.ts
index 2b7ba7f5be5f35..9410aa54d26c5b 100644
--- a/packages/app-store/appStoreMetaData.ts
+++ b/packages/app-store/appStoreMetaData.ts
@@ -1,6 +1,7 @@
import type { AppMeta } from "@calcom/types/App";
import { appStoreMetadata as rawAppStoreMetadata } from "./apps.metadata.generated";
+import { getAppAssetFullPath } from "./getAppAssetFullPath";
type RawAppStoreMetaData = typeof rawAppStoreMetadata;
type AppStoreMetaData = {
@@ -8,12 +9,19 @@ type AppStoreMetaData = {
};
export const appStoreMetadata = {} as AppStoreMetaData;
-
for (const [key, value] of Object.entries(rawAppStoreMetadata)) {
- appStoreMetadata[key as keyof typeof appStoreMetadata] = {
+ const dirName = "dirName" in value ? value.dirName : value.slug;
+ if (!dirName) {
+ throw new Error(`Couldn't derive dirName for app ${key}`);
+ }
+ const metadata = (appStoreMetadata[key as keyof typeof appStoreMetadata] = {
appData: null,
- dirName: "dirName" in value ? value.dirName : value.slug,
+ dirName,
__template: "",
...value,
- } as AppStoreMetaData[keyof AppStoreMetaData];
+ } as AppStoreMetaData[keyof AppStoreMetaData]);
+ metadata.logo = getAppAssetFullPath(metadata.logo, {
+ dirName,
+ isTemplate: metadata.isTemplate,
+ });
}
diff --git a/packages/app-store/applecalendar/DESCRIPTION.md b/packages/app-store/applecalendar/DESCRIPTION.md
index 1c099aa437c0d7..f6aeb217b36299 100644
--- a/packages/app-store/applecalendar/DESCRIPTION.md
+++ b/packages/app-store/applecalendar/DESCRIPTION.md
@@ -1,6 +1,6 @@
---
items:
- - /api/app-store/applecalendar/1.jpg
+ - 1.jpg
---
Apple calendar runs both the macOS and iOS mobile operating systems. Offering online cloud backup of calendars using Apple’s iCloud service, it can sync with Google Calendar and Microsoft Exchange Server. Users can schedule events in their day that include time, location, duration, and extra notes.
diff --git a/packages/app-store/applecalendar/_metadata.ts b/packages/app-store/applecalendar/_metadata.ts
index 040610b5476a8a..1b468204a3b8a9 100644
--- a/packages/app-store/applecalendar/_metadata.ts
+++ b/packages/app-store/applecalendar/_metadata.ts
@@ -8,11 +8,10 @@ export const metadata = {
installed: true,
type: "apple_calendar",
title: "Apple Calendar",
- imageSrc: "/api/app-store/applecalendar/icon.svg",
variant: "calendar",
categories: ["calendar"],
category: "calendar",
- logo: "/api/app-store/applecalendar/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "apple-calendar",
url: "https://cal.com/",
diff --git a/packages/app-store/around/DESCRIPTION.md b/packages/app-store/around/DESCRIPTION.md
index c03182bf88b410..b3be801ef9a64f 100644
--- a/packages/app-store/around/DESCRIPTION.md
+++ b/packages/app-store/around/DESCRIPTION.md
@@ -1,13 +1,13 @@
---
items:
- - /api/app-store/around/1.jpg
- - /api/app-store/around/2.jpg
- - /api/app-store/around/3.jpg
- - /api/app-store/around/4.jpg
- - /api/app-store/around/5.jpg
- - /api/app-store/around/6.jpg
- - /api/app-store/around/7.jpg
- - /api/app-store/around/8.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
+ - 4.jpg
+ - 5.jpg
+ - 6.jpg
+ - 7.jpg
+ - 8.jpg
---
Discover radically unique video calls designed to help hybrid-remote teams create, collaborate and celebrate together.
diff --git a/packages/app-store/around/config.json b/packages/app-store/around/config.json
index e695ea959054db..f678b8f3170665 100644
--- a/packages/app-store/around/config.json
+++ b/packages/app-store/around/config.json
@@ -4,7 +4,7 @@
"title": "Around",
"slug": "around",
"type": "around_video",
- "logo": "/api/app-store/around/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/around",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/caldavcalendar/DESCRIPTION.md b/packages/app-store/caldavcalendar/DESCRIPTION.md
index 39f9e1c4cd39df..eac279edb7d0c7 100644
--- a/packages/app-store/caldavcalendar/DESCRIPTION.md
+++ b/packages/app-store/caldavcalendar/DESCRIPTION.md
@@ -1,6 +1,6 @@
---
items:
- - /api/app-store/caldavcalendar/1.jpg
+ - 1.jpg
---
Caldav is a protocol that allows different clients/servers to access scheduling information on remote servers as well as schedule meetings with other users on the same server or other servers. It extends WebDAV specification and uses iCalendar format for the data.
diff --git a/packages/app-store/caldavcalendar/_metadata.ts b/packages/app-store/caldavcalendar/_metadata.ts
index 0f922c88c8ecce..e342f74fb286e7 100644
--- a/packages/app-store/caldavcalendar/_metadata.ts
+++ b/packages/app-store/caldavcalendar/_metadata.ts
@@ -8,15 +8,15 @@ export const metadata = {
installed: true,
type: "caldav_calendar",
title: "CalDav (Beta)",
- imageSrc: "/api/app-store/caldavcalendar/icon.svg",
variant: "calendar",
category: "calendar",
categories: ["calendar"],
- logo: "/api/app-store/caldavcalendar/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "caldav-calendar",
url: "https://cal.com/",
email: "ali@cal.com",
+ dirName: "caldavcalendar",
} as AppMeta;
export default metadata;
diff --git a/packages/app-store/caldavcalendar/index.ts b/packages/app-store/caldavcalendar/index.ts
index 3ddb10e2a66c61..6520415a87c28a 100644
--- a/packages/app-store/caldavcalendar/index.ts
+++ b/packages/app-store/caldavcalendar/index.ts
@@ -8,11 +8,10 @@ export const metadata = {
installed: true,
type: "caldav_calendar",
title: "CalDav (Beta)",
- imageSrc: "/api/app-store/caldavcalendar/icon.svg",
variant: "calendar",
category: "calendar",
categories: ["calendar"],
- logo: "/api/app-store/caldavcalendar/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "caldav-calendar",
url: "https://cal.com/",
diff --git a/packages/app-store/campfire/DESCRIPTION.md b/packages/app-store/campfire/DESCRIPTION.md
index f69dd985acdd5d..fd2d5ec7ea1f8c 100644
--- a/packages/app-store/campfire/DESCRIPTION.md
+++ b/packages/app-store/campfire/DESCRIPTION.md
@@ -1,12 +1,12 @@
---
items:
- - /api/app-store/campfire/1.jpg
- - /api/app-store/campfire/2.jpg
- - /api/app-store/campfire/3.jpg
- - /api/app-store/campfire/4.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
+ - 4.jpg
---
-
+
## Feel connected with your remote team
diff --git a/packages/app-store/campfire/config.json b/packages/app-store/campfire/config.json
index 74e3ef32ce5696..54b32fa9a847f0 100644
--- a/packages/app-store/campfire/config.json
+++ b/packages/app-store/campfire/config.json
@@ -3,8 +3,7 @@
"name": "Campfire",
"slug": "campfire",
"type": "campfire_video",
- "imageSrc": "/api/app-store/campfire/icon.svg",
- "logo": "/api/app-store/campfire/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/campfire",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/closecom/DESCRIPTION.md b/packages/app-store/closecom/DESCRIPTION.md
index c1839449e11a4d..c43c69d6bb3fde 100644
--- a/packages/app-store/closecom/DESCRIPTION.md
+++ b/packages/app-store/closecom/DESCRIPTION.md
@@ -1,10 +1,10 @@
---
items:
- - /api/app-store/closecom/1.jpg
- - /api/app-store/closecom/2.jpg
- - /api/app-store/closecom/3.jpg
- - /api/app-store/closecom/4.jpg
- - /api/app-store/closecom/5.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
+ - 4.jpg
+ - 5.jpg
---
- Close is a modern CRM with build-in sales communication tools for email, phone, SMS, and meetings.
diff --git a/packages/app-store/closecom/config.json b/packages/app-store/closecom/config.json
index 169a365efb8cdd..dba31259e2d40c 100644
--- a/packages/app-store/closecom/config.json
+++ b/packages/app-store/closecom/config.json
@@ -4,8 +4,7 @@
"title": "Close.com",
"slug": "closecom",
"type": "closecom_other_calendar",
- "imageSrc": "/api/app-store/closecom/icon.svg",
- "logo": "/api/app-store/closecom/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/closecom",
"variant": "other",
"categories": ["other"],
diff --git a/packages/app-store/cron/config.json b/packages/app-store/cron/config.json
index 433dc1b7347486..955e73e41b311a 100644
--- a/packages/app-store/cron/config.json
+++ b/packages/app-store/cron/config.json
@@ -3,7 +3,6 @@
"name": "Cron",
"slug": "cron",
"type": "cron_other",
- "imageSrc": "logo.png",
"logo": "logo.png",
"url": "https://cal.com/apps/cron",
"variant": "other",
diff --git a/packages/app-store/dailyvideo/DESCRIPTION.md b/packages/app-store/dailyvideo/DESCRIPTION.md
index 05a0ee79689f28..60770a48d3087d 100644
--- a/packages/app-store/dailyvideo/DESCRIPTION.md
+++ b/packages/app-store/dailyvideo/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
items:
- - /api/app-store/dailyvideo/1.jpg
- - /api/app-store/dailyvideo/2.jpg
- - /api/app-store/dailyvideo/3.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
---
- **Recordings require a team plan**
diff --git a/packages/app-store/dailyvideo/_metadata.ts b/packages/app-store/dailyvideo/_metadata.ts
index 19a90acf29d27e..7af67924a30922 100644
--- a/packages/app-store/dailyvideo/_metadata.ts
+++ b/packages/app-store/dailyvideo/_metadata.ts
@@ -7,11 +7,10 @@ export const metadata = {
description: _package.description,
installed: !!process.env.DAILY_API_KEY,
type: "daily_video",
- imageSrc: "/api/app-store/dailyvideo/icon.svg",
variant: "conferencing",
url: "https://daily.co",
categories: ["video"],
- logo: "/api/app-store/dailyvideo/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
category: "video",
slug: "daily-video",
diff --git a/packages/app-store/discord/config.json b/packages/app-store/discord/config.json
index 0e3931a684e93d..682593c46b0384 100644
--- a/packages/app-store/discord/config.json
+++ b/packages/app-store/discord/config.json
@@ -3,8 +3,7 @@
"name": "Discord",
"slug": "discord",
"type": "discord_video",
- "imageSrc": "/api/app-store/discord/icon.svg",
- "logo": "/api/app-store/discord/icon.svg",
+ "logo": "icon.svg",
"url": "https://discord.com/",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/exchange2013calendar/_metadata.ts b/packages/app-store/exchange2013calendar/_metadata.ts
index 9ed4a3e10821a8..3d7c0734af3f12 100644
--- a/packages/app-store/exchange2013calendar/_metadata.ts
+++ b/packages/app-store/exchange2013calendar/_metadata.ts
@@ -8,12 +8,11 @@ export const metadata = {
installed: true,
type: "exchange2013_calendar",
title: "Microsoft Exchange 2013 Calendar",
- imageSrc: "/api/app-store/exchange2013calendar/icon.svg",
variant: "calendar",
category: "calendar",
categories: ["calendar"],
label: "Exchange Calendar",
- logo: "/api/app-store/exchange2013calendar/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "exchange2013-calendar",
url: "https://cal.com/",
diff --git a/packages/app-store/exchange2016calendar/_metadata.ts b/packages/app-store/exchange2016calendar/_metadata.ts
index a0e50eeba55fed..138b5e5442dedd 100644
--- a/packages/app-store/exchange2016calendar/_metadata.ts
+++ b/packages/app-store/exchange2016calendar/_metadata.ts
@@ -8,12 +8,11 @@ export const metadata = {
installed: true,
type: "exchange2016_calendar",
title: "Microsoft Exchange 2016 Calendar",
- imageSrc: "/api/app-store/exchange2016calendar/icon.svg",
variant: "calendar",
category: "calendar",
categories: ["calendar"],
label: "Exchange Calendar",
- logo: "/api/app-store/exchange2016calendar/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "exchange2016-calendar",
url: "https://cal.com/",
diff --git a/packages/app-store/exchangecalendar/config.json b/packages/app-store/exchangecalendar/config.json
index 934899c8562b29..d49c3e4de51448 100644
--- a/packages/app-store/exchangecalendar/config.json
+++ b/packages/app-store/exchangecalendar/config.json
@@ -3,9 +3,9 @@
"title": "Microsoft Exchange",
"name": "Microsoft Exchange",
"slug": "exchange",
+ "dirName": "exchangecalendar",
"type": "exchange_calendar",
- "imageSrc": "/api/app-store/exchangecalendar/icon.svg",
- "logo": "/api/app-store/exchangecalendar/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/exchange",
"variant": "calendar",
"categories": ["calendar"],
diff --git a/packages/app-store/facetime/DESCRIPTION.md b/packages/app-store/facetime/DESCRIPTION.md
index 6dbf65a2d2a379..ab2e873c43492c 100644
--- a/packages/app-store/facetime/DESCRIPTION.md
+++ b/packages/app-store/facetime/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
items:
- - /api/app-store/facetime/facetime1.png
- - /api/app-store/facetime/facetime2.png
+ - facetime1.png
+ - facetime2.png
---
With FaceTime, it’s easy to stay in touch. You can make audio and video calls with up to 32 people, share your screen, enjoy films and music together, and more.
diff --git a/packages/app-store/facetime/config.json b/packages/app-store/facetime/config.json
index d652a2451995c5..671999675c3a82 100644
--- a/packages/app-store/facetime/config.json
+++ b/packages/app-store/facetime/config.json
@@ -4,8 +4,7 @@
"title": "Facetime",
"slug": "facetime",
"type": "facetime_video",
- "imageSrc": "/api/app-store/facetime/icon.svg",
- "logo": "/api/app-store/facetime/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/facetime",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/fathom/DESCRIPTION.md b/packages/app-store/fathom/DESCRIPTION.md
index 3e16d4a3dbc666..3c9100d0542b84 100644
--- a/packages/app-store/fathom/DESCRIPTION.md
+++ b/packages/app-store/fathom/DESCRIPTION.md
@@ -1,6 +1,6 @@
---
items:
- - /api/app-store/fathom/1.jpg
+ - 1.jpg
---
Fathom Analytics provides simple, privacy-focused website analytics. We're a GDPR-compliant, Google Analytics alternative.
diff --git a/packages/app-store/fathom/config.json b/packages/app-store/fathom/config.json
index 435053f0f96680..cf60fdfea1a8a8 100644
--- a/packages/app-store/fathom/config.json
+++ b/packages/app-store/fathom/config.json
@@ -3,8 +3,7 @@
"name": "Fathom",
"slug": "fathom",
"type": "fathom_analytics",
- "imageSrc": "/api/app-store/fathom/icon.svg",
- "logo": "/api/app-store/fathom/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/fathom",
"variant": "analytics",
"categories": ["analytics"],
diff --git a/packages/app-store/ga4/DESCRIPTION.md b/packages/app-store/ga4/DESCRIPTION.md
index a2d034ac150200..ece4528ab30bd9 100644
--- a/packages/app-store/ga4/DESCRIPTION.md
+++ b/packages/app-store/ga4/DESCRIPTION.md
@@ -1,11 +1,11 @@
---
description: Google Analytics is a web analytics service offered by Google that tracks and reports website traffic, currently as a platform inside the Google Marketing Platform brand.
items:
- - /api/app-store/ga4/1.jpeg
- - /api/app-store/ga4/2.jpeg
- - /api/app-store/ga4/3.jpeg
- - /api/app-store/ga4/4.jpeg
- - /api/app-store/ga4/5.jpeg
+ - 1.jpeg
+ - 2.jpeg
+ - 3.jpeg
+ - 4.jpeg
+ - 5.jpeg
---
Google Analytics is a web analytics service offered by Google that tracks and reports website traffic, currently as a platform inside the Google Marketing Platform brand.
diff --git a/packages/app-store/ga4/config.json b/packages/app-store/ga4/config.json
index 1e8d2bc78b02ef..b0bdb496d51063 100644
--- a/packages/app-store/ga4/config.json
+++ b/packages/app-store/ga4/config.json
@@ -3,8 +3,7 @@
"name": "Google Analytics",
"slug": "ga4",
"type": "ga4_analytics",
- "imageSrc": "/api/app-store/ga4/icon.svg",
- "logo": "/api/app-store/ga4/icon.svg",
+ "logo": "icon.svg",
"url": "https://marketingplatform.google.com",
"variant": "analytics",
"categories": ["analytics"],
diff --git a/packages/app-store/getAppAssetFullPath.ts b/packages/app-store/getAppAssetFullPath.ts
new file mode 100644
index 00000000000000..5f1a98afec6107
--- /dev/null
+++ b/packages/app-store/getAppAssetFullPath.ts
@@ -0,0 +1,10 @@
+import type { App } from "@calcom/types/App";
+
+export function getAppAssetFullPath(assetPath: string, metadata: Pick) {
+ const appDirName = `${metadata.isTemplate ? "templates/" : ""}${metadata.dirName}`;
+ let assetFullPath = assetPath;
+ if (!assetPath.startsWith("/app-store/") && !/^https?/.test(assetPath)) {
+ assetFullPath = `/app-store/${appDirName}/${assetPath}`;
+ }
+ return assetFullPath;
+}
diff --git a/packages/app-store/giphy/DESCRIPTION.md b/packages/app-store/giphy/DESCRIPTION.md
index d06290ee24e87f..8a652c93bdfd89 100644
--- a/packages/app-store/giphy/DESCRIPTION.md
+++ b/packages/app-store/giphy/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
items:
- - /api/app-store/giphy/GIPHY1.png
- - /api/app-store/giphy/GIPHY2.png
+ - GIPHY1.png
+ - GIPHY2.png
---
An online database and search engine that allows users to search for and share short looping videos with no sound that resemble animated GIF files. GIPHY is your top source for the best & newest GIFs & Animated Stickers online. Find everything from funny GIFs, reaction GIFs, unique GIFs and more to add to your custom booking page. Located under advanced settings in each event type.
diff --git a/packages/app-store/giphy/_metadata.ts b/packages/app-store/giphy/_metadata.ts
index ff99e7e1ad6082..050f4ab2341d33 100644
--- a/packages/app-store/giphy/_metadata.ts
+++ b/packages/app-store/giphy/_metadata.ts
@@ -7,9 +7,7 @@ export const metadata = {
description: _package.description,
installed: true,
categories: ["other"],
- // If using static next public folder, can then be referenced from the base URL (/).
- imageSrc: "/api/app-store/giphy/icon.svg",
- logo: "/api/app-store/giphy/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "giphy",
title: "Giphy",
diff --git a/packages/app-store/googlecalendar/DESCRIPTION.md b/packages/app-store/googlecalendar/DESCRIPTION.md
index 4723093520c010..d7e903b59395b4 100644
--- a/packages/app-store/googlecalendar/DESCRIPTION.md
+++ b/packages/app-store/googlecalendar/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
items:
- - /api/app-store/googlecalendar/GCal1.png
- - /api/app-store/googlecalendar/GCal2.png
+ - GCal1.png
+ - GCal2.png
---
Google Calendar is a time management and scheduling service developed by Google. Allows users to create and edit events, with options available for type and time. Available to anyone that has a Gmail account on both mobile and web versions.
diff --git a/packages/app-store/googlecalendar/_metadata.ts b/packages/app-store/googlecalendar/_metadata.ts
index d17a4fc05f9995..dbdb83103522ba 100644
--- a/packages/app-store/googlecalendar/_metadata.ts
+++ b/packages/app-store/googlecalendar/_metadata.ts
@@ -12,7 +12,7 @@ export const metadata = {
variant: "calendar",
category: "calendar",
categories: ["calendar"],
- logo: "/api/app-store/googlecalendar/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "google-calendar",
url: "https://cal.com/",
diff --git a/packages/app-store/googlevideo/DESCRIPTION.md b/packages/app-store/googlevideo/DESCRIPTION.md
index b0abb0e11862e0..bec0b02fa5ed0d 100644
--- a/packages/app-store/googlevideo/DESCRIPTION.md
+++ b/packages/app-store/googlevideo/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
items:
- - /api/app-store/googlevideo/gmeet1.png
- - /api/app-store/googlevideo/gmeet2.png
+ - gmeet1.png
+ - gmeet2.png
---
Google Meet is Google's web-based video conferencing platform, designed to compete with major conferencing platforms.
diff --git a/packages/app-store/googlevideo/_metadata.ts b/packages/app-store/googlevideo/_metadata.ts
index 4e5d68232cd31f..69f296fd49809c 100644
--- a/packages/app-store/googlevideo/_metadata.ts
+++ b/packages/app-store/googlevideo/_metadata.ts
@@ -12,9 +12,8 @@ export const metadata = {
categories: ["video"],
type: "google_video",
title: "Google Meet",
- imageSrc: "/api/app-store/googlevideo/logo.webp",
variant: "conferencing",
- logo: "/api/app-store/googlevideo/logo.webp",
+ logo: "logo.webp",
publisher: "Cal.com",
url: "https://cal.com/",
isGlobal: false,
diff --git a/packages/app-store/gtm/config.json b/packages/app-store/gtm/config.json
index 8560bf05fcbe4f..c691e6f7ef0c74 100644
--- a/packages/app-store/gtm/config.json
+++ b/packages/app-store/gtm/config.json
@@ -2,7 +2,6 @@
"name": "Google Tag Manager",
"slug": "gtm",
"type": "gtm_analytics",
- "imageSrc": "icon.svg",
"logo": "icon.svg",
"url": "https://tagmanager.google.com",
"variant": "analytics",
diff --git a/packages/app-store/hubspot/DESCRIPTION.md b/packages/app-store/hubspot/DESCRIPTION.md
index a1e911fac194b7..12c3d18c1e6c7b 100644
--- a/packages/app-store/hubspot/DESCRIPTION.md
+++ b/packages/app-store/hubspot/DESCRIPTION.md
@@ -1,6 +1,6 @@
---
items:
- - /api/app-store/hubspot/hubspot01.webp
+ - hubspot01.webp
---
HubSpot is a cloud-based CRM designed to help align sales and marketing teams, foster sales enablement, boost ROI and optimize your inbound marketing strategy to generate more, qualified leads.
diff --git a/packages/app-store/hubspot/_metadata.ts b/packages/app-store/hubspot/_metadata.ts
index 5989134667f3e2..2f27976d4af13d 100644
--- a/packages/app-store/hubspot/_metadata.ts
+++ b/packages/app-store/hubspot/_metadata.ts
@@ -7,9 +7,8 @@ export const metadata = {
installed: !!process.env.HUBSPOT_CLIENT_ID,
description: _package.description,
type: "hubspot_other_calendar",
- imageSrc: "/api/app-store/hubspot/icon.svg",
variant: "other_calendar",
- logo: "/api/app-store/hubspot/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
url: "https://hubspot.com/",
categories: ["other"],
diff --git a/packages/app-store/huddle01video/DESCRIPTION.md b/packages/app-store/huddle01video/DESCRIPTION.md
index ea51ab64a83798..bc4d1aa7987013 100644
--- a/packages/app-store/huddle01video/DESCRIPTION.md
+++ b/packages/app-store/huddle01video/DESCRIPTION.md
@@ -1,11 +1,11 @@
---
items:
- - /api/app-store/huddle01video/1.png
- - /api/app-store/huddle01video/2.png
- - /api/app-store/huddle01video/3.png
- - /api/app-store/huddle01video/4.png
- - /api/app-store/huddle01video/5.png
- - /api/app-store/huddle01video/6.png
+ - 1.png
+ - 2.png
+ - 3.png
+ - 4.png
+ - 5.png
+ - 6.png
---
Huddle01 is a new video conferencing software native to Web3 and is comparable to a decentralized version of Zoom. It supports conversations for NFT communities, DAOs, Builders and also has features such as token gating, NFTs as avatars, Web3 Login + ENS and recording over IPFS.
diff --git a/packages/app-store/huddle01video/_metadata.ts b/packages/app-store/huddle01video/_metadata.ts
index 59a1530fc55585..1b8399b4bc0a45 100644
--- a/packages/app-store/huddle01video/_metadata.ts
+++ b/packages/app-store/huddle01video/_metadata.ts
@@ -8,10 +8,9 @@ export const metadata = {
description: _package.description,
installed: true,
type: "huddle01_video",
- imageSrc: "/api/app-store/huddle01video/icon.svg",
variant: "conferencing",
categories: ["video", "web3"],
- logo: "/api/app-store/huddle01video/icon.svg",
+ logo: "icon.svg",
publisher: "huddle01.com",
url: "https://huddle01.com",
category: "web3",
diff --git a/packages/app-store/jitsivideo/DESCRIPTION.md b/packages/app-store/jitsivideo/DESCRIPTION.md
index 3e3869302bdc93..ee6231b3bb017a 100644
--- a/packages/app-store/jitsivideo/DESCRIPTION.md
+++ b/packages/app-store/jitsivideo/DESCRIPTION.md
@@ -1,6 +1,6 @@
---
items:
- - /api/app-store/jitsivideo/jitsi1.jpg
+ - jitsi1.jpg
---
Jitsi is a free open-source video conferencing software for web and mobile. Make a call, launch on your own servers, integrate into your app, and more.
diff --git a/packages/app-store/jitsivideo/_metadata.ts b/packages/app-store/jitsivideo/_metadata.ts
index a47c0add140fbf..1e08501c04de1c 100644
--- a/packages/app-store/jitsivideo/_metadata.ts
+++ b/packages/app-store/jitsivideo/_metadata.ts
@@ -7,10 +7,9 @@ export const metadata = {
description: _package.description,
installed: true,
type: "jitsi_video",
- imageSrc: "/api/app-store/jitsivideo/icon.svg",
variant: "conferencing",
categories: ["video"],
- logo: "/api/app-store/jitsivideo/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
url: "https://jitsi.org/",
slug: "jitsi",
diff --git a/packages/app-store/larkcalendar/DESCRIPTION.md b/packages/app-store/larkcalendar/DESCRIPTION.md
index 46c310275d09e7..d0a7a8785d450b 100644
--- a/packages/app-store/larkcalendar/DESCRIPTION.md
+++ b/packages/app-store/larkcalendar/DESCRIPTION.md
@@ -1,9 +1,9 @@
---
items:
- - /api/app-store/larkcalendar/1.png
- - /api/app-store/larkcalendar/2.png
- - /api/app-store/larkcalendar/3.png
- - /api/app-store/larkcalendar/4.png
+ - 1.png
+ - 2.png
+ - 3.png
+ - 4.png
---
diff --git a/packages/app-store/larkcalendar/_metadata.ts b/packages/app-store/larkcalendar/_metadata.ts
index 3f4ee077ed4d7e..050e2ed7d87909 100644
--- a/packages/app-store/larkcalendar/_metadata.ts
+++ b/packages/app-store/larkcalendar/_metadata.ts
@@ -8,10 +8,9 @@ export const metadata = {
installed: true,
type: "lark_calendar",
title: "Lark Calendar",
- imageSrc: "/api/app-store/larkcalendar/icon.svg",
variant: "calendar",
categories: ["calendar"],
- logo: "/api/app-store/larkcalendar/icon.svg",
+ logo: "icon.svg",
publisher: "Lark",
slug: "lark-calendar",
url: "https://larksuite.com/",
diff --git a/packages/app-store/n8n/DESCRIPTION.md b/packages/app-store/n8n/DESCRIPTION.md
index a10f1ba5374929..fe467ed65147ff 100644
--- a/packages/app-store/n8n/DESCRIPTION.md
+++ b/packages/app-store/n8n/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
items:
- - /api/app-store/n8n/1.png
- - /api/app-store/n8n/2.png
- - /api/app-store/n8n/3.png
+ - 1.png
+ - 2.png
+ - 3.png
- https://docs.n8n.io/_images/integrations/builtin/credentials/cal/getting-api-key.gif
---
diff --git a/packages/app-store/n8n/config.json b/packages/app-store/n8n/config.json
index 5f929129d7f4ec..6fbee1ccfdac74 100644
--- a/packages/app-store/n8n/config.json
+++ b/packages/app-store/n8n/config.json
@@ -3,8 +3,7 @@
"name": "n8n",
"slug": "n8n",
"type": "n8n_automation",
- "imageSrc": "/api/app-store/n8n/icon.svg",
- "logo": "/api/app-store/n8n/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/n8n",
"variant": "automation",
"categories": ["automation"],
diff --git a/packages/app-store/office365calendar/DESCRIPTION.md b/packages/app-store/office365calendar/DESCRIPTION.md
index 3cb295901273c2..08425303aff86c 100644
--- a/packages/app-store/office365calendar/DESCRIPTION.md
+++ b/packages/app-store/office365calendar/DESCRIPTION.md
@@ -1,9 +1,9 @@
---
items:
- - /api/app-store/office365calendar/1.jpg
- - /api/app-store/office365calendar/2.jpg
- - /api/app-store/office365calendar/3.jpg
- - /api/app-store/office365calendar/4.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
+ - 4.jpg
---
Microsoft Office 365 is a suite of apps that helps you stay connected with others and get things done. It includes but is not limited to Microsoft Word, PowerPoint, Excel, Teams, OneNote and OneDrive. Office 365 allows you to work remotely with others on a team and collaborate in an online environment. Both web versions and desktop/mobile applications are available.
diff --git a/packages/app-store/office365calendar/_metadata.ts b/packages/app-store/office365calendar/_metadata.ts
index 9ef8774e3da6f3..6389322c547c7b 100644
--- a/packages/app-store/office365calendar/_metadata.ts
+++ b/packages/app-store/office365calendar/_metadata.ts
@@ -7,13 +7,13 @@ export const metadata = {
description: _package.description,
type: "office365_calendar",
title: "Outlook Calendar",
- imageSrc: "/api/app-store/office365calendar/icon.svg",
variant: "calendar",
category: "calendar",
categories: ["calendar"],
- logo: "/api/app-store/office365calendar/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "office365-calendar",
+ dirName: "office365calendar",
url: "https://cal.com/",
email: "help@cal.com",
} as AppMeta;
diff --git a/packages/app-store/office365video/DESCRIPTION.md b/packages/app-store/office365video/DESCRIPTION.md
index cb880bdf98ba79..1c06d3ab8eb22b 100644
--- a/packages/app-store/office365video/DESCRIPTION.md
+++ b/packages/app-store/office365video/DESCRIPTION.md
@@ -1,10 +1,10 @@
---
items:
- - /api/app-store/office365video/teams1.png
- - /api/app-store/office365video/teams2.png
- - /api/app-store/office365video/teams3.jpeg
- - /api/app-store/office365video/teams4.png
- - /api/app-store/office365video/teams5.png
+ - teams1.png
+ - teams2.png
+ - teams3.jpeg
+ - teams4.png
+ - teams5.png
---
Microsoft Teams is a business communication platform and collaborative workspace included in Microsoft 365. It offers workspace chat and video conferencing, file storage, and application integration. Both web versions and desktop/mobile applications are available. NOTE: MUST HAVE A WORK / SCHOOL ACCOUNT
diff --git a/packages/app-store/office365video/config.json b/packages/app-store/office365video/config.json
index 6f0ba838e3317b..7e7c1d39ca6b04 100644
--- a/packages/app-store/office365video/config.json
+++ b/packages/app-store/office365video/config.json
@@ -2,9 +2,8 @@
"name": "Microsoft 365/Teams (Requires work/school account)",
"description": "Microsoft Teams is a business communication platform and collaborative workspace included in Microsoft 365. It offers workspace chat and video conferencing, file storage, and application integration. Both web versions and desktop/mobile applications are available. NOTE: MUST HAVE A WORK / SCHOOL ACCOUNT",
"type": "office365_video",
- "imageSrc": "/api/app-store/office365video/icon.svg",
"variant": "conferencing",
- "logo": "/api/app-store/office365video/icon.svg",
+ "logo": "icon.svg",
"publisher": "Cal.com",
"url": "https://www.microsoft.com/en-ca/microsoft-teams/group-chat-software",
"verified": true,
diff --git a/packages/app-store/ping/DESCRIPTION.md b/packages/app-store/ping/DESCRIPTION.md
index 50484137453576..a35949a7abf8b5 100644
--- a/packages/app-store/ping/DESCRIPTION.md
+++ b/packages/app-store/ping/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
items:
- - /api/app-store/ping/1.png
- - /api/app-store/ping/2.png
- - /api/app-store/ping/3.png
+ - 1.png
+ - 2.png
+ - 3.png
---
Ping.gg makes high quality video collaborations easier than ever. Think "Zoom for streamers and creators". Join a call in 3 clicks, manage audio and video like a pro, and copy-paste your guests straight into OBS
diff --git a/packages/app-store/ping/config.json b/packages/app-store/ping/config.json
index a199ec78965a17..65902d169ff244 100644
--- a/packages/app-store/ping/config.json
+++ b/packages/app-store/ping/config.json
@@ -4,8 +4,7 @@
"title": "Ping.gg",
"slug": "ping",
"type": "ping_video",
- "imageSrc": "/api/app-store/ping/icon.svg",
- "logo": "/api/app-store/ping/icon.svg",
+ "logo": "icon.svg",
"url": "https://ping.gg",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/pipedream/DESCRIPTION.md b/packages/app-store/pipedream/DESCRIPTION.md
index f67ef0996b856e..6ceb82886d3cdb 100644
--- a/packages/app-store/pipedream/DESCRIPTION.md
+++ b/packages/app-store/pipedream/DESCRIPTION.md
@@ -1,11 +1,11 @@
---
description: Connect APIs, remarkably fast. Stop writing boilerplate code, struggling with authentication and managing infrastructure. Start connecting APIs with code-level control when you need it — and no code when you don't
items:
- - /api/app-store/pipedream/1.png
- - /api/app-store/pipedream/2.png
- - /api/app-store/pipedream/3.png
- - /api/app-store/pipedream/4.png
- - /api/app-store/pipedream/5.png
+ - 1.png
+ - 2.png
+ - 3.png
+ - 4.png
+ - 5.png
---
Connect APIs, remarkably fast. Stop writing boilerplate code, struggling with authentication and managing infrastructure. Start connecting APIs with code-level control when you need it — and no code when you don't
diff --git a/packages/app-store/pipedream/config.json b/packages/app-store/pipedream/config.json
index a696fa49d1fe0f..37fa14a10361f7 100644
--- a/packages/app-store/pipedream/config.json
+++ b/packages/app-store/pipedream/config.json
@@ -3,8 +3,7 @@
"name": "Pipedream",
"slug": "pipedream",
"type": "pipedream_automation",
- "imageSrc": "/api/app-store/pipedream/icon.svg",
- "logo": "/api/app-store/pipedream/icon.svg",
+ "logo": "icon.svg",
"url": "https://pipedream.com/apps/cal-com",
"variant": "automation",
"categories": ["automation"],
diff --git a/packages/app-store/plausible/DESCRIPTION.md b/packages/app-store/plausible/DESCRIPTION.md
index b69e4ce7901694..969505ea11ce18 100644
--- a/packages/app-store/plausible/DESCRIPTION.md
+++ b/packages/app-store/plausible/DESCRIPTION.md
@@ -1,6 +1,6 @@
---
items:
- - /api/app-store/plausible/1.jpg
+ - 1.jpg
---
Simple, privacy-friendly Google Analytics alternative.
diff --git a/packages/app-store/plausible/config.json b/packages/app-store/plausible/config.json
index e46024e0f19d2f..5e41e7eb08c512 100644
--- a/packages/app-store/plausible/config.json
+++ b/packages/app-store/plausible/config.json
@@ -3,8 +3,7 @@
"name": "Plausible",
"slug": "plausible",
"type": "plausible_analytics",
- "imageSrc": "/api/app-store/plausible/icon.svg",
- "logo": "/api/app-store/plausible/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/plausible",
"variant": "analytics",
"categories": ["analytics"],
diff --git a/packages/app-store/qr_code/config.json b/packages/app-store/qr_code/config.json
index 1237f6e180ee56..27d32efdba020d 100644
--- a/packages/app-store/qr_code/config.json
+++ b/packages/app-store/qr_code/config.json
@@ -3,8 +3,7 @@
"name": "QR Code",
"slug": "qr_code",
"type": "qr_code_other",
- "imageSrc": "/api/app-store/qr_code/icon.svg",
- "logo": "/api/app-store/qr_code/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/qr_code",
"variant": "other",
"categories": ["other"],
diff --git a/packages/app-store/rainbow/DESCRIPTION.md b/packages/app-store/rainbow/DESCRIPTION.md
index cde42e0c27c536..280c348bed3f00 100644
--- a/packages/app-store/rainbow/DESCRIPTION.md
+++ b/packages/app-store/rainbow/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
items:
- - /api/app-store/rainbow/1.jpg
- - /api/app-store/rainbow/2.jpg
- - /api/app-store/rainbow/3.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
---
Token gate bookings based on NFTs, DAO tokens, and ERC-20 tokens. Rainbow supports dozens of trusted Ethereum wallet apps to verify token ownership. Available blockchains are Ethereum mainnet, Arbitrum, Optimism, and Polygon mainnet.
diff --git a/packages/app-store/rainbow/config.json b/packages/app-store/rainbow/config.json
index e103185e3b8074..c02784d3d2b592 100644
--- a/packages/app-store/rainbow/config.json
+++ b/packages/app-store/rainbow/config.json
@@ -3,8 +3,7 @@
"name": "Rainbow",
"slug": "rainbow",
"type": "rainbow_web3",
- "imageSrc": "/api/app-store/rainbow/icon.svg",
- "logo": "/api/app-store/rainbow/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/rainbow",
"variant": "web3",
"categories": ["web3"],
diff --git a/packages/app-store/raycast/DESCRIPTION.md b/packages/app-store/raycast/DESCRIPTION.md
index a53617800ca993..db35b56d2b2fae 100644
--- a/packages/app-store/raycast/DESCRIPTION.md
+++ b/packages/app-store/raycast/DESCRIPTION.md
@@ -1,9 +1,9 @@
---
items:
- - /api/app-store/raycast/1.png
- - /api/app-store/raycast/2.png
- - /api/app-store/raycast/3.png
- - /api/app-store/raycast/4.png
+ - 1.png
+ - 2.png
+ - 3.png
+ - 4.png
---
Quickly share your Cal.com meeting links with Raycast. Requires Raycast.com to be installed. You can create an API token in your Developer Cal.com Settings.
diff --git a/packages/app-store/raycast/config.json b/packages/app-store/raycast/config.json
index 2a4205df771a53..7cf2906ee358d3 100644
--- a/packages/app-store/raycast/config.json
+++ b/packages/app-store/raycast/config.json
@@ -3,8 +3,7 @@
"name": "Raycast",
"slug": "raycast",
"type": "raycast_other",
- "imageSrc": "/api/app-store/raycast/icon.svg",
- "logo": "/api/app-store/raycast/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/raycast",
"variant": "other",
"categories": ["other"],
diff --git a/packages/app-store/riverside/DESCRIPTION.md b/packages/app-store/riverside/DESCRIPTION.md
index aaa4e29f03957c..09f1d23a9a9bcf 100644
--- a/packages/app-store/riverside/DESCRIPTION.md
+++ b/packages/app-store/riverside/DESCRIPTION.md
@@ -1,6 +1,6 @@
---
items:
- - /api/app-store/riverside/riverside1.png
+ - riverside1.png
---
Your online recording studio. The easiest way to record podcasts and videos in studio quality from anywhere. All from the browser.
diff --git a/packages/app-store/riverside/config.json b/packages/app-store/riverside/config.json
index 957242e2cffaed..f32a84d95b30ae 100644
--- a/packages/app-store/riverside/config.json
+++ b/packages/app-store/riverside/config.json
@@ -3,8 +3,7 @@
"name": "Riverside",
"slug": "riverside",
"type": "riverside_video",
- "imageSrc": "/api/app-store/riverside/icon-dark.svg",
- "logo": "/api/app-store/riverside/icon-dark.svg",
+ "logo": "icon-dark.svg",
"url": "https://cal.com/apps/riverside",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/routing-forms/DESCRIPTION.md b/packages/app-store/routing-forms/DESCRIPTION.md
index 4970fa3f013905..6084b5817608d6 100644
--- a/packages/app-store/routing-forms/DESCRIPTION.md
+++ b/packages/app-store/routing-forms/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
items:
- - /api/app-store/routing-forms/1.jpg
- - /api/app-store/routing-forms/2.jpg
- - /api/app-store/routing-forms/3.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
---
It would allow a booker to connect with the right person or choose the right event, faster. It would work by taking inputs from the booker and using that data to route to the correct booker/event as configured by Cal user
diff --git a/packages/app-store/routing-forms/config.json b/packages/app-store/routing-forms/config.json
index 01335feb133cdf..a5dbf1fb3963bb 100644
--- a/packages/app-store/routing-forms/config.json
+++ b/packages/app-store/routing-forms/config.json
@@ -4,8 +4,7 @@
"title": "Routing Forms",
"slug": "routing-forms",
"type": "routing-forms_other",
- "imageSrc": "/api/app-store/routing-forms/icon-dark.svg",
- "logo": "/api/app-store/routing-forms/icon-dark.svg",
+ "logo": "icon-dark.svg",
"url": "https://cal.com/apps/routing-forms",
"variant": "other",
"categories": ["other"],
diff --git a/packages/app-store/salesforce/DESCRIPTION.md b/packages/app-store/salesforce/DESCRIPTION.md
index 661e41831092aa..618966cb391419 100644
--- a/packages/app-store/salesforce/DESCRIPTION.md
+++ b/packages/app-store/salesforce/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
description: Salesforce (Sales Cloud) is a cloud-based application designed to help your salespeople sell smarter and faster by centralizing customer information, logging their interactions with your company, and automating many of the tasks salespeople do every day.
items:
- - /api/app-store/salesforce/1.png
+ - 1.png
---
Salesforce (Sales Cloud) is a cloud-based application designed to help your salespeople sell smarter and faster by centralizing customer information, logging their interactions with your company, and automating many of the tasks salespeople do every day.
diff --git a/packages/app-store/salesforce/config.json b/packages/app-store/salesforce/config.json
index 855f1166dfa277..31a93fc0f52249 100644
--- a/packages/app-store/salesforce/config.json
+++ b/packages/app-store/salesforce/config.json
@@ -3,8 +3,7 @@
"name": "Salesforce",
"slug": "salesforce",
"type": "salesforce_other_calendar",
- "imageSrc": "/api/app-store/salesforce/icon.png",
- "logo": "/api/app-store/salesforce/icon.png",
+ "logo": "icon.png",
"url": "https://cal.com/apps/salesforce",
"variant": "other_calendar",
"categories": ["other"],
diff --git a/packages/app-store/sendgrid/DESCRIPTION.md b/packages/app-store/sendgrid/DESCRIPTION.md
index c434583c324644..6358c2dfb6918d 100644
--- a/packages/app-store/sendgrid/DESCRIPTION.md
+++ b/packages/app-store/sendgrid/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
description: SendGrid delivers your transactional and marketing emails through the world's largest cloud-based email delivery platform.
items:
- - /api/app-store/sendgrid/1.png
+ - 1.png
---
SendGrid delivers your transactional and marketing emails through the world's largest cloud-based email delivery platform.
diff --git a/packages/app-store/sendgrid/config.json b/packages/app-store/sendgrid/config.json
index 3dc39368588cef..a224a854807e52 100644
--- a/packages/app-store/sendgrid/config.json
+++ b/packages/app-store/sendgrid/config.json
@@ -3,8 +3,7 @@
"name": "Sendgrid",
"slug": "sendgrid",
"type": "sendgrid_other_calendar",
- "imageSrc": "/api/app-store/sendgrid/logo.png",
- "logo": "/api/app-store/sendgrid/logo.png",
+ "logo": "logo.png",
"url": "https://cal.com/apps/sendgrid",
"variant": "other_calendar",
"categories": ["other"],
diff --git a/packages/app-store/signal/DESCRIPTION.md b/packages/app-store/signal/DESCRIPTION.md
index 4a9026d2ab5bc9..c76f5b09b70b8e 100644
--- a/packages/app-store/signal/DESCRIPTION.md
+++ b/packages/app-store/signal/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
description: Schedule a chat with your guests or have a Signal Video call.
items:
- - /api/app-store/signal/1.jpg
- - /api/app-store/signal/2.jpg
+ - 1.jpg
+ - 2.jpg
---
Schedule a chat with your guests or have a Signal Video call.
diff --git a/packages/app-store/signal/config.json b/packages/app-store/signal/config.json
index 4b1cdd262180a9..087dab979ee297 100644
--- a/packages/app-store/signal/config.json
+++ b/packages/app-store/signal/config.json
@@ -3,8 +3,7 @@
"name": "Signal",
"slug": "signal",
"type": "signal_video",
- "imageSrc": "/api/app-store/signal/icon.svg",
- "logo": "/api/app-store/signal/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/signal",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/sirius_video/DESCRIPTION.md b/packages/app-store/sirius_video/DESCRIPTION.md
index e03b1ffad37ba5..36399b2e971a55 100644
--- a/packages/app-store/sirius_video/DESCRIPTION.md
+++ b/packages/app-store/sirius_video/DESCRIPTION.md
@@ -1,9 +1,9 @@
---
description: Video meetings made for music. Create your own virtual music classroom, easily.
items:
- - /api/app-store/sirius_video/1.jpg
- - /api/app-store/sirius_video/2.jpg
- - /api/app-store/sirius_video/3.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
---
Video meetings made for music. Create your own virtual music classroom, easily.
diff --git a/packages/app-store/sirius_video/config.json b/packages/app-store/sirius_video/config.json
index 120add11782349..4a4ef0c734f8f1 100644
--- a/packages/app-store/sirius_video/config.json
+++ b/packages/app-store/sirius_video/config.json
@@ -3,8 +3,7 @@
"name": "Sirius Video",
"slug": "sirius_video",
"type": "sirius_video_video",
- "imageSrc": "/api/app-store/sirius_video/icon-dark.svg",
- "logo": "/api/app-store/sirius_video/icon-dark.svg",
+ "logo": "icon-dark.svg",
"url": "https://cal.com/apps/sirius_video",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/stripepayment/DESCRIPTION.md b/packages/app-store/stripepayment/DESCRIPTION.md
index 8a30ef11a3ce9d..90744b9ab7801f 100644
--- a/packages/app-store/stripepayment/DESCRIPTION.md
+++ b/packages/app-store/stripepayment/DESCRIPTION.md
@@ -1,10 +1,10 @@
---
items:
- - /api/app-store/stripepayment/stripe1.jpg
- - /api/app-store/stripepayment/stripe2.jpg
- - /api/app-store/stripepayment/stripe3.jpg
- - /api/app-store/stripepayment/stripe4.jpg
- - /api/app-store/stripepayment/stripe5.jpg
+ - stripe1.jpg
+ - stripe2.jpg
+ - stripe3.jpg
+ - stripe4.jpg
+ - stripe5.jpg
---
Stripe provides payment infrastructure for everyone from startups to Fortune 500 companies. They provide payment processing software as well as application programming interfaces (APIs) for mobile applications as well as e-commerce websites processing payments from (but not limited to) credit cards, debit cards, digital wallets, Google Pay, Apple Pay, Bank Transfers, Alipay and WeChat.
diff --git a/packages/app-store/stripepayment/_metadata.ts b/packages/app-store/stripepayment/_metadata.ts
index 56b63a5ecf606f..26bd34023d2f16 100644
--- a/packages/app-store/stripepayment/_metadata.ts
+++ b/packages/app-store/stripepayment/_metadata.ts
@@ -13,8 +13,7 @@ export const metadata = {
slug: "stripe",
category: "payment",
categories: ["payment"],
- logo: "/api/app-store/stripepayment/icon.svg",
- imageSrc: "/api/app-store/stripepayment/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
title: "Stripe",
type: "stripe_payment",
diff --git a/packages/app-store/sylapsvideo/config.json b/packages/app-store/sylapsvideo/config.json
index 4e0f836aed2d59..e22579566435e8 100644
--- a/packages/app-store/sylapsvideo/config.json
+++ b/packages/app-store/sylapsvideo/config.json
@@ -4,7 +4,6 @@
"title": "Sylaps",
"slug": "sylapsvideo",
"type": "sylaps_video",
- "imageSrc": "icon.svg",
"logo": "icon.svg",
"url": "https://cal.com/apps/sylaps",
"variant": "conferencing",
diff --git a/packages/app-store/tandemvideo/DESCRIPTION.md b/packages/app-store/tandemvideo/DESCRIPTION.md
index 57a2496663f6b6..02e76e2e49f2d4 100644
--- a/packages/app-store/tandemvideo/DESCRIPTION.md
+++ b/packages/app-store/tandemvideo/DESCRIPTION.md
@@ -1,11 +1,11 @@
---
items:
- - /api/app-store/tandemvideo/tandem1.jpg
- - /api/app-store/tandemvideo/tandem2.jpg
- - /api/app-store/tandemvideo/tandem3.jpg
- - /api/app-store/tandemvideo/tandem4.jpg
- - /api/app-store/tandemvideo/tandem5.jpg
- - /api/app-store/tandemvideo/tandem6.jpg
+ - tandem1.jpg
+ - tandem2.jpg
+ - tandem3.jpg
+ - tandem4.jpg
+ - tandem5.jpg
+ - tandem6.jpg
---
Tandem is a new virtual office space that allows teams to effortlessly connect as though they are in a physical office, online. Through co-working rooms, available statuses, live real-time video call, and chat options, you can see who’s around, talk and collaborate in one click. It works cross-platform with both desktop and mobile versions.
diff --git a/packages/app-store/tandemvideo/_metadata.ts b/packages/app-store/tandemvideo/_metadata.ts
index 42d484b3a9f445..592a96c832107d 100644
--- a/packages/app-store/tandemvideo/_metadata.ts
+++ b/packages/app-store/tandemvideo/_metadata.ts
@@ -7,12 +7,11 @@ export const metadata = {
description: _package.description,
type: "tandem_video",
title: "Tandem Video",
- imageSrc: "/api/app-store/tandemvideo/icon.svg",
variant: "conferencing",
categories: ["video"],
slug: "tandem",
category: "video",
- logo: "/api/app-store/tandemvideo/icon.svg",
+ logo: "icon.svg",
publisher: "",
url: "",
isGlobal: false,
diff --git a/packages/app-store/telegram/DESCRIPTION.md b/packages/app-store/telegram/DESCRIPTION.md
index 3b5bed8492e95b..89ec750b62b362 100644
--- a/packages/app-store/telegram/DESCRIPTION.md
+++ b/packages/app-store/telegram/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
items:
- - /api/app-store/telegram/1.jpg
- - /api/app-store/telegram/2.jpg
- - /api/app-store/telegram/3.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
---
Schedule a chat with your guests or have a Telegram Video call.
diff --git a/packages/app-store/telegram/config.json b/packages/app-store/telegram/config.json
index e36861cf103907..f30ce1e7a783f5 100644
--- a/packages/app-store/telegram/config.json
+++ b/packages/app-store/telegram/config.json
@@ -3,8 +3,7 @@
"name": "Telegram",
"slug": "telegram",
"type": "telegram_video",
- "imageSrc": "/api/app-store/telegram/icon.svg",
- "logo": "/api/app-store/telegram/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/telegram",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/typeform/DESCRIPTION.md b/packages/app-store/typeform/DESCRIPTION.md
index 611805bf888dc6..c86c37777fe4c0 100644
--- a/packages/app-store/typeform/DESCRIPTION.md
+++ b/packages/app-store/typeform/DESCRIPTION.md
@@ -2,8 +2,8 @@
description: Adds a link to copy Typeform Redirect URL to integrate with Routing Forms.
items:
- iframe: { src: https://www.youtube.com/embed/vcV-N2gLPZc }
- - /api/app-store/typeform/copy-typeform-redirect-url.png
- - /api/app-store/typeform/how-it-looks-in-typeform.png
+ - copy-typeform-redirect-url.png
+ - how-it-looks-in-typeform.png
---
diff --git a/packages/app-store/typeform/config.json b/packages/app-store/typeform/config.json
index 878d9c1dff2462..4dd2467ad483e3 100644
--- a/packages/app-store/typeform/config.json
+++ b/packages/app-store/typeform/config.json
@@ -3,7 +3,7 @@
"name": "Typeform",
"slug": "typeform",
"type": "typeform_other",
- "logo": "/api/app-store/typeform/icon-dark.svg",
+ "logo": "icon-dark.svg",
"url": "https://cal.com/apps/typeform",
"variant": "other",
"categories": ["other"],
diff --git a/packages/app-store/utils.ts b/packages/app-store/utils.ts
index 9b488d77b418f2..13fc9aa106a2e4 100644
--- a/packages/app-store/utils.ts
+++ b/packages/app-store/utils.ts
@@ -19,10 +19,7 @@ type LocationOption = {
const ALL_APPS_MAP = Object.keys(appStoreMetadata).reduce((store, key) => {
const metadata = appStoreMetadata[key as keyof typeof appStoreMetadata] as AppMeta;
- if (metadata.logo && !metadata.logo.includes("/")) {
- const appDirName = `${metadata.isTemplate ? "templates" : ""}/${metadata.slug}`;
- metadata.logo = `/api/app-store/${appDirName}/${metadata.logo}`;
- }
+
store[key] = metadata;
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
diff --git a/packages/app-store/vimcal/DESCRIPTION.md b/packages/app-store/vimcal/DESCRIPTION.md
index a030749cee555d..904334627b9b11 100644
--- a/packages/app-store/vimcal/DESCRIPTION.md
+++ b/packages/app-store/vimcal/DESCRIPTION.md
@@ -1,10 +1,10 @@
---
description: The world's fastest calendar, beautifully designed for a remote world
items:
- - /api/app-store/vimcal/1.gif
- - /api/app-store/vimcal/2.gif
- - /api/app-store/vimcal/3.gif
- - /api/app-store/vimcal/4.gif
+ - 1.gif
+ - 2.gif
+ - 3.gif
+ - 4.gif
---
The world's fastest calendar, beautifully designed for a remote world
diff --git a/packages/app-store/vimcal/config.json b/packages/app-store/vimcal/config.json
index be6ae60f881bb8..96c9d9ac7b72cb 100644
--- a/packages/app-store/vimcal/config.json
+++ b/packages/app-store/vimcal/config.json
@@ -3,8 +3,7 @@
"name": "Vimcal",
"slug": "vimcal",
"type": "vimcal_other",
- "imageSrc": "/api/app-store/vimcal/icon.svg",
- "logo": "/api/app-store/vimcal/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/vimcal",
"variant": "other",
"categories": ["calendar"],
diff --git a/packages/app-store/vital/_metadata.ts b/packages/app-store/vital/_metadata.ts
index dbbec335d3291d..b1b48d2323e7f4 100644
--- a/packages/app-store/vital/_metadata.ts
+++ b/packages/app-store/vital/_metadata.ts
@@ -8,9 +8,7 @@ export const metadata = {
installed: true,
category: "other",
categories: ["other"],
- // If using static next public folder, can then be referenced from the base URL (/).
- imageSrc: "/api/app-store/vital/icon.svg",
- logo: "/api/app-store/vital/icon.svg",
+ logo: "icon.svg",
label: "Vital",
publisher: "Vital",
slug: "vital-automation",
diff --git a/packages/app-store/weather_in_your_calendar/DESCRIPTION.md b/packages/app-store/weather_in_your_calendar/DESCRIPTION.md
index 369ce845410c30..103c4af8bd68de 100644
--- a/packages/app-store/weather_in_your_calendar/DESCRIPTION.md
+++ b/packages/app-store/weather_in_your_calendar/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
items:
- - /api/app-store/weather_in_your_calendar/1.jpeg
- - /api/app-store/weather_in_your_calendar/2.jpeg
+ - 1.jpeg
+ - 2.jpeg
---
You can now get the weather forecast directly into your calendar. This local weather calendar uses emojis ⛅️ 🌧️ ☀️ 🌨️ to display a 16 days forecast from OpenWeatherMap. Enter your city, adjust according to your preferences and subscribe to your calendar.
diff --git a/packages/app-store/weather_in_your_calendar/config.json b/packages/app-store/weather_in_your_calendar/config.json
index 4dbbc81f48eb44..d5c58c7a1e9336 100644
--- a/packages/app-store/weather_in_your_calendar/config.json
+++ b/packages/app-store/weather_in_your_calendar/config.json
@@ -3,8 +3,7 @@
"name": "Weather in your Calendar",
"slug": "weather_in_your_calendar",
"type": "weather_in_your_calendar_other",
- "imageSrc": "/api/app-store/weather_in_your_calendar/icon.gif",
- "logo": "/api/app-store/weather_in_your_calendar/icon.gif",
+ "logo": "icon.gif",
"url": "https://weather-in-calendar.com",
"variant": "other",
"categories": ["other"],
diff --git a/packages/app-store/whatsapp/DESCRIPTION.md b/packages/app-store/whatsapp/DESCRIPTION.md
index 88ee14728732e6..2be3a36d865d97 100644
--- a/packages/app-store/whatsapp/DESCRIPTION.md
+++ b/packages/app-store/whatsapp/DESCRIPTION.md
@@ -1,8 +1,8 @@
---
items:
- - /api/app-store/whatsapp/1.jpg
- - /api/app-store/whatsapp/2.jpg
- - /api/app-store/whatsapp/3.jpg
+ - 1.jpg
+ - 2.jpg
+ - 3.jpg
---
Schedule a chat with your guests or have a WhatsApp Video call.
diff --git a/packages/app-store/whatsapp/config.json b/packages/app-store/whatsapp/config.json
index 6ce34f58e53c2f..7ac388cfd7fa64 100644
--- a/packages/app-store/whatsapp/config.json
+++ b/packages/app-store/whatsapp/config.json
@@ -3,8 +3,7 @@
"name": "WhatsApp",
"slug": "whatsapp",
"type": "whatsapp_video",
- "imageSrc": "/api/app-store/whatsapp/icon.svg",
- "logo": "/api/app-store/whatsapp/icon.svg",
+ "logo": "icon.svg",
"url": "https://cal.com/apps/whatsapp",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/whereby/DESCRIPTION.md b/packages/app-store/whereby/DESCRIPTION.md
index 5477309ffcaeff..83e5a0f67391ab 100644
--- a/packages/app-store/whereby/DESCRIPTION.md
+++ b/packages/app-store/whereby/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
items:
- - /api/app-store/whereby/whereby1.webp
- - /api/app-store/whereby/whereby2.webp
+ - whereby1.webp
+ - whereby2.webp
---
Whereby's the easiest way to connect over video – with no app or software download required. Connect with anyone, anywhere with zero hassle.
diff --git a/packages/app-store/whereby/config.json b/packages/app-store/whereby/config.json
index 959ae5ae8a54d9..6607fada11df96 100644
--- a/packages/app-store/whereby/config.json
+++ b/packages/app-store/whereby/config.json
@@ -4,8 +4,7 @@
"title": "Whereby",
"slug": "whereby",
"type": "whereby_video",
- "imageSrc": "/api/app-store/whereby/icon-dark.svg",
- "logo": "/api/app-store/whereby/icon-dark.svg",
+ "logo": "icon-dark.svg",
"url": "https://cal.com/apps/whereby",
"variant": "conferencing",
"categories": ["video"],
diff --git a/packages/app-store/wipemycalother/DESCRIPTION.md b/packages/app-store/wipemycalother/DESCRIPTION.md
index c3ca9dd669a5c8..0fda815978d429 100644
--- a/packages/app-store/wipemycalother/DESCRIPTION.md
+++ b/packages/app-store/wipemycalother/DESCRIPTION.md
@@ -1,6 +1,6 @@
---
items:
- - /api/app-store/wipemycalother/1.jpg
+ - 1.jpg
---
diff --git a/packages/app-store/wipemycalother/_metadata.ts b/packages/app-store/wipemycalother/_metadata.ts
index 7b90892398e9bd..0e06bb5623d2d4 100644
--- a/packages/app-store/wipemycalother/_metadata.ts
+++ b/packages/app-store/wipemycalother/_metadata.ts
@@ -9,8 +9,7 @@ export const metadata = {
category: "other",
categories: ["other"],
// If using static next public folder, can then be referenced from the base URL (/).
- imageSrc: "/api/app-store/wipemycalother/icon-dark.svg",
- logo: "/api/app-store/wipemycalother/icon-dark.svg",
+ logo: "icon-dark.svg",
publisher: "Cal.com",
slug: "wipe-my-cal",
title: "Wipe my cal",
diff --git a/packages/app-store/wordpress/config.json b/packages/app-store/wordpress/config.json
index fd93647e007a73..260e7411a00696 100644
--- a/packages/app-store/wordpress/config.json
+++ b/packages/app-store/wordpress/config.json
@@ -3,8 +3,7 @@
"name": "Wordpress",
"slug": "wordpress",
"type": "wordpress_other",
- "imageSrc": "/api/app-store/wordpress/icon-dark.svg",
- "logo": "/api/app-store/wordpress/icon-dark.svg",
+ "logo": "icon-dark.svg",
"url": "https://github.com/calcom/wp-plugin",
"variant": "other",
"categories": ["other"],
diff --git a/packages/app-store/zapier/DESCRIPTION.md b/packages/app-store/zapier/DESCRIPTION.md
index 785dc7359c0a74..3b72a1c1232de9 100644
--- a/packages/app-store/zapier/DESCRIPTION.md
+++ b/packages/app-store/zapier/DESCRIPTION.md
@@ -1,7 +1,7 @@
---
items:
- - /api/app-store/zapier/1.jpg
- - /api/app-store/zapier/2.jpg
+ - 1.jpg
+ - 2.jpg
---
Workflow automation for everyone. Use the Cal.com Zapier app to automate your workflows when a booking is created, rescheduled, cancelled or when a meeting ended.
**After Installation:** Have you lost your API key? You can always generate a new key on the **Zapier Setup Page**
diff --git a/packages/app-store/zapier/_metadata.ts b/packages/app-store/zapier/_metadata.ts
index df2d6685ce6e5b..26b50fb9d2ad35 100644
--- a/packages/app-store/zapier/_metadata.ts
+++ b/packages/app-store/zapier/_metadata.ts
@@ -8,8 +8,7 @@ export const metadata = {
installed: true,
category: "automation",
categories: ["automation"],
- imageSrc: "/api/app-store/zapier/icon.svg",
- logo: "/api/app-store/zapier/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
slug: "zapier",
title: "Zapier",
diff --git a/packages/app-store/zohocrm/config.json b/packages/app-store/zohocrm/config.json
index 47b58439afd046..d369cbf03ec323 100644
--- a/packages/app-store/zohocrm/config.json
+++ b/packages/app-store/zohocrm/config.json
@@ -3,7 +3,6 @@
"name": "ZohoCRM",
"slug": "zohocrm",
"type": "zohocrm_other_calendar",
- "imageSrc": "icon.png",
"logo": "icon.png",
"url": "https://cal.com/apps/zohocrm",
"variant": "other",
diff --git a/packages/app-store/zoomvideo/DESCRIPTION.md b/packages/app-store/zoomvideo/DESCRIPTION.md
index 9d5bb6e301e610..9e27b4c7e31d53 100644
--- a/packages/app-store/zoomvideo/DESCRIPTION.md
+++ b/packages/app-store/zoomvideo/DESCRIPTION.md
@@ -1,12 +1,12 @@
---
items:
- - /api/app-store/zoomvideo/zoom1.jpg
- - /api/app-store/zoomvideo/zoom2.png
- - /api/app-store/zoomvideo/zoom3.png
- - /api/app-store/zoomvideo/zoom4.png
- - /api/app-store/zoomvideo/zoom5.jpg
- - /api/app-store/zoomvideo/zoom6.png
- - /api/app-store/zoomvideo/zoom7.png
+ - zoom1.jpg
+ - zoom2.png
+ - zoom3.png
+ - zoom4.png
+ - zoom5.jpg
+ - zoom6.png
+ - zoom7.png
---
Zoom is a secure and reliable video platform that supports all of your online communication needs. It can provide everything from one on one meetings, chat, phone, webinars, and large-scale online events. Available with both desktop, web, and mobile versions.
diff --git a/packages/app-store/zoomvideo/_metadata.ts b/packages/app-store/zoomvideo/_metadata.ts
index 8819c88e671c3d..15956ccb6c6497 100644
--- a/packages/app-store/zoomvideo/_metadata.ts
+++ b/packages/app-store/zoomvideo/_metadata.ts
@@ -8,9 +8,8 @@ export const metadata = {
description: _package.description,
type: "zoom_video",
categories: ["video"],
- imageSrc: "/api/app-store/zoomvideo/icon.svg",
variant: "conferencing",
- logo: "/api/app-store/zoomvideo/icon.svg",
+ logo: "icon.svg",
publisher: "Cal.com",
url: "https://zoom.us/",
category: "video",
diff --git a/packages/types/App.d.ts b/packages/types/App.d.ts
index c5f36726e49e72..6697345596ba8d 100644
--- a/packages/types/App.d.ts
+++ b/packages/types/App.d.ts
@@ -68,11 +68,6 @@ export interface App {
name: string;
/** A brief description, usually found in the app's package.json */
description: string;
- /**
- * @deprecated logo is used instead
- * The icon to display in /apps/installed
- */
- imageSrc?: string;
/** TODO determine if we should use this instead of category */
variant:
| "calendar"
diff --git a/packages/ui/components/apps/_storybookData.ts b/packages/ui/components/apps/_storybookData.ts
index d0af1640db41eb..e0e2b5e301e995 100644
--- a/packages/ui/components/apps/_storybookData.ts
+++ b/packages/ui/components/apps/_storybookData.ts
@@ -7,7 +7,6 @@ export const _SBApps: App[] = [
installed: true,
type: "google_calendar",
title: "Google Calendar",
- imageSrc: "/api/app-store/googlecalendar/icon.svg",
variant: "calendar",
category: "calendar",
categories: ["calendar"],
@@ -23,7 +22,6 @@ export const _SBApps: App[] = [
description: "Zoom Video",
type: "zoom_video",
categories: ["video"],
- imageSrc: "/api/app-store/zoomvideo/icon.svg",
variant: "conferencing",
logo: "/api/app-store/zoomvideo/icon.svg",
publisher: "Cal.com",