How to build an app
Last updated
Was this helpful?
Last updated
Was this helpful?
Since Cal.com is open source we encourage developers to create new apps for others to use. This guide is to help you get started.
You can create an app by simply running the following command. It creates a new directory under
yarn app-store create
You just need to provide a few inputs and then you will have your app created within a few seconds. See, how you can build a very simple app that greets your users.
Create the app using the create
command
The app can be installed now. But at this moment it isn't doing anything. It is just installed and ready to do what you want it to do.
There is pretty much no restriction on what an App can do. Some of the examples are:
Hooking into existing functionalities to enhance them - In all these cases you need to first check if the app is installed or not. There is useApp(appSlug)
react hook to do that. It gives you the app details if the app is installed.
Apps that need to connect with third parties like Google Calendar, Apple Calendar, Google Meet.
A super powerful app that has its own data and pages - is a great example of this.
There are so many powerful apps already in the for time. You can get an idea of what the apps can do from it.
All apps can be found under . In this folder is _baseApp
which shows the general structure of an app.
Deleting an app:
yarn app-store delete --slug APP_NAME
Editing an app:
yarn app-store edit --slug APP_NAME
Make sure to have yarn app-store:watch
command running when developing an app so that autogenerated files are always up to date.
If app-store cli fails at this step, try to run this command manually first. Solve that problem and then re-run cli. The command can fail because there are Prisma migrations that can't be applied automatically.
When you edit an app following things aren't updated.
README.mdx - It would still have the old description. Feel free to edit it manually.
Once your app is working in your environment, you can publish it to Cal.com App Store by opening a PR .
If you need any help feel free to join us on