Make it easy to extend your SaaS application without offloading deployment and management onto your customer. New features can be created in record time using our Serverless extensibility platform.
Extensions are implemented as Node.js functions. This makes it easy to create webhooks and simple APIs that exchange data. But this is just the beginning; extensions have full access to the HTTP programming model and they can even use popular server frameworks like express to support multiple routes and serve rich UI. All of this without any additional configuration, just code.
Extend’s runtime and management are all exposed via a set of simple APIs. Executing an extension is just like invoking a Webhook. Want to use your own editor? No problem. Creating extensions and managing them is as simple as an API call.
If your app already uses Webhooks, you can easily drop in Extend. Replace that textbox with a rich inline editor and route Webhook invocations to the url provided by Extend. Or keep the textbox and also offer Extend for a better out-of-the-box experience.
You have all the power you need with more than 600k+ modules in the npm registry. Go even further with your own private npm registry, or by embedded your own private modules directly on the base image.
If you need to allow extensions to run on a schedule, we’ve got you covered. With Extend you can schedule recurring execution using CRON-style syntax.
Extend executes in a multi-tenant containerized environment. This ensures that all 3rd party code runs in a secure sandbox where each customers' code cannot affect or observe the execution of anyone else's code.
Extensions can read and persist state using a set of simple APIs. The storage APIs also support simple conflict detection.
Extension authors can see
console.log() output streamed in real-time both during development and in production. For your monitoring needs, detailed logs can be persisted to Amazon S3, Amazon Elastic Search, Amazon Kinesis Analytics or Amazon Redshift.
Go beyond our default node-based programming model and create your own domain-specific model &emdash; even something declarative that is JSON or YAML based. Need to inject custom processing when extensions are executed, or offer convenient utility functions to extension authors? All of this and more are possible with compilers.
Extension authors can define secrets and configuration outside code and access them in-line using the provided context object. This makes the code more secure and portable / reusable. Secrets are encrypted at rest.
For your advanced users, you can enable them to store their extensions in a Github repo. Extend will bi-directionally sync with a repo / branch whether it is public or private.
Integrate your SaaS with the entire ecosystem