The central space for Saleor Apps, Integrations and Marketplace.
This repository serves as a starting point in the exploration of Saleor apps.
Saleor apps are separate applications that use GraphQL to talk to the Saleor server and receive webhooks with event notifications from Saleor.
In the apps
folder, you will find the following applications:
- AvaTax - calculates dynamic taxes via AvaTax API.
- CMS - exports products from Saleor to CMS.
- Klaviyo - send Saleor events to Klaviyo, where you can notify the customers.
- Products feed - generate products feed XML.
- Search - connect Saleor with search engines.
- Segment - connect Saleor with Twilio Segment.
- SMTP - email communication with customers.
Some of the Saleor apps are available in separate repositories:
- Slack integration app example
- Taxjar integration app example
- Invoices app example
- CRM app example
- Sendgrid integration app example
You can find the documentation for saleor/apps on docs.saleor.io.
Due to an issue with outdated signatures in Corepack, Corepack should be updated to its latest version first:
npm install --global corepack@latest
After that run to install pnpm with proper version:
corepack enable pnpm
This repository uses Turborepo remote caching. If you are Saleor employee you can leverage it by running following commands in root of this repository:
pnpm dlx turbo login
pnpm dlx turbo link
This repository uses architecture decision records to document architectural decisions. You can find them in the docs/adr
directory.
To add new ADR follow the guide.
We love your contributions and do our best to provide you with mentorship and support. However, please keep in mind that saleor/apps
monorepo is used by Saleor to host apps in Saleor infrastructure. While the code remains open source, the decisions in this repository are made to enable Saleor to maintain features needed by it's business goals.
If you are looking for an issue to tackle, take a look at issues labeled Good first issue
and Help wanted
.
If nothing grabs your attention, check our roadmap or start a Discord discussion about a feature you'd like to see. Make sure to read our Contribution Guidelines before opening a PR or issue.
Apps are written in Next.js and are hosted on Vercel by Saleor. Everyone should be able to host the app on Vercel if the app is configured properly. Apps share common code, but some of the functionalities are app-specific. For example, Avatax and Segment apps require DynamoDB to run. Check each app's "env" files to verify what must be provided to deploy.
Repository contains Devcontainers setup which include Dockerfiles. They are meant for development. At the moment Saleor doesn't provide official production dockerfiles. Feel free to write your own, based on the development ones.
Apps follow BYOA (bring your own APL) approach. Minimal set of APLs are implemented in the source code, to avoid maintaining not used dependencies and increasing bundle size. You may want to use other APL client, like Redis. In such case, please ensure your fork does the job. Usually apps contain single file that imports APL from @saleor/app-sdk
. Your fork can ensure this file contains your own APL setup