diff --git a/packages/app-store/apps.metadata.generated.ts b/packages/app-store/apps.metadata.generated.ts index 067b406cdc..f325a7009d 100644 --- a/packages/app-store/apps.metadata.generated.ts +++ b/packages/app-store/apps.metadata.generated.ts @@ -53,6 +53,7 @@ import riverside_config_json from "./riverside/config.json"; import roam_config_json from "./roam/config.json"; import routing_forms_config_json from "./routing-forms/config.json"; import salesforce_config_json from "./salesforce/config.json"; +import salesroom_config_json from "./salesroom/config.json"; import sendgrid_config_json from "./sendgrid/config.json"; import shimmervideo_config_json from "./shimmervideo/config.json"; import signal_config_json from "./signal/config.json"; @@ -135,6 +136,7 @@ export const appStoreMetadata = { roam: roam_config_json, "routing-forms": routing_forms_config_json, salesforce: salesforce_config_json, + salesroom: salesroom_config_json, sendgrid: sendgrid_config_json, shimmervideo: shimmervideo_config_json, signal: signal_config_json, diff --git a/packages/app-store/apps.server.generated.ts b/packages/app-store/apps.server.generated.ts index b34cd5370c..950eae4fbd 100644 --- a/packages/app-store/apps.server.generated.ts +++ b/packages/app-store/apps.server.generated.ts @@ -53,6 +53,7 @@ export const apiHandlers = { roam: import("./roam/api"), "routing-forms": import("./routing-forms/api"), salesforce: import("./salesforce/api"), + salesroom: import("./salesroom/api"), sendgrid: import("./sendgrid/api"), shimmervideo: import("./shimmervideo/api"), signal: import("./signal/api"), diff --git a/packages/app-store/bookerApps.metadata.generated.ts b/packages/app-store/bookerApps.metadata.generated.ts index 8989cb1264..305a71469b 100644 --- a/packages/app-store/bookerApps.metadata.generated.ts +++ b/packages/app-store/bookerApps.metadata.generated.ts @@ -23,6 +23,7 @@ import ping_config_json from "./ping/config.json"; import plausible_config_json from "./plausible/config.json"; import riverside_config_json from "./riverside/config.json"; import roam_config_json from "./roam/config.json"; +import salesroom_config_json from "./salesroom/config.json"; import shimmervideo_config_json from "./shimmervideo/config.json"; import signal_config_json from "./signal/config.json"; import sirius_video_config_json from "./sirius_video/config.json"; @@ -58,6 +59,7 @@ export const appStoreMetadata = { plausible: plausible_config_json, riverside: riverside_config_json, roam: roam_config_json, + salesroom: salesroom_config_json, shimmervideo: shimmervideo_config_json, signal: signal_config_json, sirius_video: sirius_video_config_json, diff --git a/packages/app-store/salesroom/DESCRIPTION.md b/packages/app-store/salesroom/DESCRIPTION.md new file mode 100644 index 0000000000..b05722c47c --- /dev/null +++ b/packages/app-store/salesroom/DESCRIPTION.md @@ -0,0 +1,35 @@ +--- +items: + - iframe: { src: https://26224744.fs1.hubspotusercontent-eu1.net/hubfs/26224744/__hs-marketplace__/Salesroom%20Demo%2001%20(1).mp4 } + - 1.jpeg + - 2.jpeg + - 3.jpeg + - 4.jpeg + - 5.jpeg +--- + +{DESCRIPTION} + +### A meeting platform that connects the dots and moves deals forward + +Salesroom helps you to ace your virtual meetings, increase buyer engagement and stay productive call after call. + +Elevate your sales game and aximize your win rate with Salesroom's Real-time AI video conferencing platform, your secret weapon for closing deals faster and smarter. + +### For Sales Reps + +Increase buyer engagement, eliminate multitasking, and let Salesroom handle CRM updates for you. + +- Receive real-time insights on what resonates most with buyers during meetings, and get notified when attention drops. +- Keep track of buyer engagement between meetings to focus on the most promising leads. +- Get personalized guidance and coaching in every meeting, overcoming objections and increasing conversion. +- Focus on selling, while Salesroom automates CRM updates, creates video highlights, and pre-writes follow-up emails. + +### For Sales Leadership + +Consolidate your sales stack, increase adoption and put coaching on auto-pilot. + +- Save costs and streamline workflows by replacing multiple tools with one unified meeting platform. +- Enhance HubSpot CRM with accurate meeting insights for improved reporting. +- Automate coaching with smart cue cards, helping reps overcome objections and improve virtual communication skills. +- Share valuable customer conversation insights across the company with complimentary viewer licenses and easy snippet sharing to Slack. diff --git a/packages/app-store/salesroom/api/add.ts b/packages/app-store/salesroom/api/add.ts new file mode 100644 index 0000000000..6ab3106577 --- /dev/null +++ b/packages/app-store/salesroom/api/add.ts @@ -0,0 +1,16 @@ +import { createDefaultInstallation } from "@calcom/app-store/_utils/installation"; +import type { AppDeclarativeHandler } from "@calcom/types/AppHandler"; + +import appConfig from "../config.json"; + +const handler: AppDeclarativeHandler = { + appType: appConfig.type, + variant: appConfig.variant, + slug: appConfig.slug, + supportsMultipleInstalls: false, + handlerType: "add", + createCredential: ({ appType, user, slug, teamId }) => + createDefaultInstallation({ appType, userId: user.id, slug, key: {}, teamId }), +}; + +export default handler; diff --git a/packages/app-store/salesroom/api/index.ts b/packages/app-store/salesroom/api/index.ts new file mode 100644 index 0000000000..4c0d2ead01 --- /dev/null +++ b/packages/app-store/salesroom/api/index.ts @@ -0,0 +1 @@ +export { default as add } from "./add"; diff --git a/packages/app-store/salesroom/config.json b/packages/app-store/salesroom/config.json new file mode 100644 index 0000000000..3329dd1f0c --- /dev/null +++ b/packages/app-store/salesroom/config.json @@ -0,0 +1,25 @@ +{ + "/*": "Don't modify slug - If required, do it using cli edit command", + "name": "Salesroom", + "slug": "salesroom", + "type": "salesroom_conferencing", + "logo": "icon.svg", + "url": "https://salesroom.com/", + "variant": "conferencing", + "categories": ["conferencing"], + "publisher": "Cal.com, Inc.", + "email": "support@cal.com", + "appData": { + "location": { + "type": "integrations:{SLUG}_video", + "label": "{TITLE}", + "linkType": "static", + "organizerInputPlaceholder": "https://user.sr.chat", + "urlRegExp": "^https:\\/\\/.+\\.sr\\.chat" + } + }, + "description": "Unlock real-time AI and take your sales game to the next level", + "isTemplate": false, + "__createdUsingCli": true, + "__template": "event-type-location-video-static" +} diff --git a/packages/app-store/salesroom/index.ts b/packages/app-store/salesroom/index.ts new file mode 100644 index 0000000000..d7f3602204 --- /dev/null +++ b/packages/app-store/salesroom/index.ts @@ -0,0 +1 @@ +export * as api from "./api"; diff --git a/packages/app-store/salesroom/package.json b/packages/app-store/salesroom/package.json new file mode 100644 index 0000000000..d20d3c578d --- /dev/null +++ b/packages/app-store/salesroom/package.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "private": true, + "name": "@calcom/salesroom", + "version": "0.0.1", + "main": "./index.ts", + "dependencies": { + "@calcom/lib": "*" + }, + "devDependencies": { + "@calcom/types": "*" + }, + "description": "Unlock real-time AI and take your sales game to the next level" +} diff --git a/packages/app-store/salesroom/static/1.jpeg b/packages/app-store/salesroom/static/1.jpeg new file mode 100644 index 0000000000..19dcb4d5b2 Binary files /dev/null and b/packages/app-store/salesroom/static/1.jpeg differ diff --git a/packages/app-store/salesroom/static/2.jpeg b/packages/app-store/salesroom/static/2.jpeg new file mode 100644 index 0000000000..2dff02254d Binary files /dev/null and b/packages/app-store/salesroom/static/2.jpeg differ diff --git a/packages/app-store/salesroom/static/3.jpeg b/packages/app-store/salesroom/static/3.jpeg new file mode 100644 index 0000000000..2630ff5e91 Binary files /dev/null and b/packages/app-store/salesroom/static/3.jpeg differ diff --git a/packages/app-store/salesroom/static/4.jpeg b/packages/app-store/salesroom/static/4.jpeg new file mode 100644 index 0000000000..ab28e96772 Binary files /dev/null and b/packages/app-store/salesroom/static/4.jpeg differ diff --git a/packages/app-store/salesroom/static/5.jpeg b/packages/app-store/salesroom/static/5.jpeg new file mode 100644 index 0000000000..e725d76ff3 Binary files /dev/null and b/packages/app-store/salesroom/static/5.jpeg differ diff --git a/packages/app-store/salesroom/static/icon.svg b/packages/app-store/salesroom/static/icon.svg new file mode 100644 index 0000000000..98a86261b9 --- /dev/null +++ b/packages/app-store/salesroom/static/icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/packages/app-store/salesroom/static/salesroom-demo.mp4 b/packages/app-store/salesroom/static/salesroom-demo.mp4 new file mode 100644 index 0000000000..e16101954b Binary files /dev/null and b/packages/app-store/salesroom/static/salesroom-demo.mp4 differ diff --git a/yarn.lock b/yarn.lock index 4793e4e1e0..7503e2e7d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4434,6 +4434,15 @@ __metadata: languageName: unknown linkType: soft +"@calcom/salesroom@workspace:packages/app-store/salesroom": + version: 0.0.0-use.local + resolution: "@calcom/salesroom@workspace:packages/app-store/salesroom" + dependencies: + "@calcom/lib": "*" + "@calcom/types": "*" + languageName: unknown + linkType: soft + "@calcom/sendgrid@workspace:packages/app-store/sendgrid": version: 0.0.0-use.local resolution: "@calcom/sendgrid@workspace:packages/app-store/sendgrid"