diff --git a/packages/app-store/amie/README.mdx b/packages/app-store/amie/README.mdx
new file mode 100644
index 0000000000..c2c1986343
--- /dev/null
+++ b/packages/app-store/amie/README.mdx
@@ -0,0 +1,18 @@
+---
+items:
+ - /api/app-store/amie/1.jpg
+ - /api/app-store/amie/2.jpg
+ - /api/app-store/amie/3.jpg
+---
+
+
+
+## The joyful productivity app
+
+- Use your calendar as a todo list
+- Color your calendar to organize
+- Instantly know if someone is available
+- Track what you listened to when
+- Send scheduling links guests love
+- Always know what your team is up to
+
diff --git a/packages/app-store/amie/_metadata.ts b/packages/app-store/amie/_metadata.ts
new file mode 100644
index 0000000000..9c7f2aa320
--- /dev/null
+++ b/packages/app-store/amie/_metadata.ts
@@ -0,0 +1,10 @@
+import type { AppMeta } from "@calcom/types/App";
+
+import config from "./config.json";
+
+export const metadata = {
+ category: "other",
+ ...config,
+} as AppMeta;
+
+export default metadata;
diff --git a/packages/app-store/amie/api/add.ts b/packages/app-store/amie/api/add.ts
new file mode 100644
index 0000000000..3304d3dd57
--- /dev/null
+++ b/packages/app-store/amie/api/add.ts
@@ -0,0 +1,21 @@
+import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+
+import { createDefaultInstallation } from "../../_utils/installation";
+import appConfig from "../config.json";
+
+const handler: AppDeclarativeHandler = {
+ // Instead of passing appType and slug from here, api/integrations/[..args] should be able to derive and pass these directly to createCredential
+ appType: appConfig.type,
+ variant: appConfig.variant,
+ slug: appConfig.slug,
+ supportsMultipleInstalls: false,
+ handlerType: "add",
+ redirect: {
+ newTab: true,
+ url: "https://amie.so/signup",
+ },
+ createCredential: ({ appType, user, slug }) =>
+ createDefaultInstallation({ appType, userId: user.id, slug, key: {} }),
+};
+
+export default handler;
diff --git a/packages/app-store/amie/api/index.ts b/packages/app-store/amie/api/index.ts
new file mode 100644
index 0000000000..4c0d2ead01
--- /dev/null
+++ b/packages/app-store/amie/api/index.ts
@@ -0,0 +1 @@
+export { default as add } from "./add";
diff --git a/packages/app-store/amie/components/.gitkeep b/packages/app-store/amie/components/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/packages/app-store/amie/config.json b/packages/app-store/amie/config.json
new file mode 100644
index 0000000000..cc7ffcd8fd
--- /dev/null
+++ b/packages/app-store/amie/config.json
@@ -0,0 +1,16 @@
+{
+ "/*": "Don't modify slug - If required, do it using cli edit command",
+ "name": "Amie",
+ "slug": "amie",
+ "type": "amie_other",
+ "imageSrc": "/api/app-store/amie/icon.svg",
+ "logo": "/api/app-store/amie/icon.svg",
+ "url": "https://cal.com/apps/amie",
+ "variant": "other",
+ "categories": ["calendar"],
+ "publisher": "Cal.com, Inc.",
+ "email": "support@cal.com",
+ "description": "The joyful productivity app\r\r",
+ "extendsFeature": "User",
+ "__createdUsingCli": true
+}
diff --git a/packages/app-store/amie/index.ts b/packages/app-store/amie/index.ts
new file mode 100644
index 0000000000..5d372ceda3
--- /dev/null
+++ b/packages/app-store/amie/index.ts
@@ -0,0 +1,2 @@
+export * as api from "./api";
+export { metadata } from "./_metadata";
diff --git a/packages/app-store/amie/package.json b/packages/app-store/amie/package.json
new file mode 100644
index 0000000000..4f950e2bc6
--- /dev/null
+++ b/packages/app-store/amie/package.json
@@ -0,0 +1,14 @@
+{
+ "$schema": "https://json.schemastore.org/package.json",
+ "private": true,
+ "name": "@calcom/amie",
+ "version": "0.0.0",
+ "main": "./index.ts",
+ "description": "The joyful productivity app\r\r",
+ "dependencies": {
+ "@calcom/lib": "*"
+ },
+ "devDependencies": {
+ "@calcom/types": "*"
+ }
+}
diff --git a/packages/app-store/amie/static/1.jpg b/packages/app-store/amie/static/1.jpg
new file mode 100644
index 0000000000..f38986d45f
Binary files /dev/null and b/packages/app-store/amie/static/1.jpg differ
diff --git a/packages/app-store/amie/static/2.jpg b/packages/app-store/amie/static/2.jpg
new file mode 100644
index 0000000000..75ce96d380
Binary files /dev/null and b/packages/app-store/amie/static/2.jpg differ
diff --git a/packages/app-store/amie/static/3.jpg b/packages/app-store/amie/static/3.jpg
new file mode 100644
index 0000000000..7608bdaa24
Binary files /dev/null and b/packages/app-store/amie/static/3.jpg differ
diff --git a/packages/app-store/amie/static/icon.svg b/packages/app-store/amie/static/icon.svg
new file mode 100644
index 0000000000..b5d986daaa
--- /dev/null
+++ b/packages/app-store/amie/static/icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/packages/app-store/apps.metadata.generated.ts b/packages/app-store/apps.metadata.generated.ts
index d11dd7f1db..0ecf92fdb0 100644
--- a/packages/app-store/apps.metadata.generated.ts
+++ b/packages/app-store/apps.metadata.generated.ts
@@ -2,6 +2,7 @@
This file is autogenerated using the command `yarn app-store:build --watch`.
Don't modify this file manually.
**/
+import { metadata as amie_meta } from "./amie/_metadata";
import { metadata as applecalendar_meta } from "./applecalendar/_metadata";
import { metadata as around_meta } from "./around/_metadata";
import { metadata as caldavcalendar_meta } from "./caldavcalendar/_metadata";
@@ -50,6 +51,7 @@ import { metadata as zapier_meta } from "./zapier/_metadata";
import { metadata as zoomvideo_meta } from "./zoomvideo/_metadata";
export const appStoreMetadata = {
+ amie: amie_meta,
applecalendar: applecalendar_meta,
around: around_meta,
caldavcalendar: caldavcalendar_meta,
diff --git a/packages/app-store/apps.server.generated.ts b/packages/app-store/apps.server.generated.ts
index a0b3ddfa99..d3f7e05c01 100644
--- a/packages/app-store/apps.server.generated.ts
+++ b/packages/app-store/apps.server.generated.ts
@@ -3,6 +3,7 @@
Don't modify this file manually.
**/
export const apiHandlers = {
+ amie: import("./amie/api"),
applecalendar: import("./applecalendar/api"),
around: import("./around/api"),
caldavcalendar: import("./caldavcalendar/api"),
diff --git a/packages/prisma/seed-app-store.config.json b/packages/prisma/seed-app-store.config.json
index 2c24a3f852..01f313ddc3 100644
--- a/packages/prisma/seed-app-store.config.json
+++ b/packages/prisma/seed-app-store.config.json
@@ -149,5 +149,11 @@
"categories": ["calendar"],
"slug": "vimcal",
"type": "vimcal_other"
+ },
+ {
+ "dirName": "amie",
+ "categories": ["calendar"],
+ "slug": "amie",
+ "type": "amie_other"
}
]