<commit_before>---
layout: post_extend
title: "Serverless Webhooks"
description: Extend your SaaS with Node.js using Auth0 Extend
date: 2017-05-19 09:23
is_extend: true
category: Product
author: 
  name: "<NAME>"
  url: "https://twitter.com/tjanczuk"
  mail: "<EMAIL>"
  avatar: "https://s.gravatar.com/avatar/53f70144dc9d7c76455fa91f858d4cec?s=200"
design: 
  bg_color: "#3445dc"
  image: "https://cdn.auth0.com/website/extend/developer/blocks-graphic.svg"
tags: 
- extend

---

If you are a developer of a SaaS product, one of the most important features you will add to your platform is extensibility. Extensibility allows your customers to customize and integrate your platform with the ecosystem around it, creating synergy, accelerating growth, and increasing loyalty. 

![Auth0 Extend](https://cdn.auth0.com/website/auth0-extend/images/landing-hero.svg)

You don't have to look far to see how this strategy pays off: virtually all successful SaaS platforms thrive on extensibility: from Slack, SalesForce, to GitHub and Zendesk. 

> Add extensibility to your SaaS. Your users will thank you, your CFO will love you, and your boss will give you a raise.

---

### Today: webhooks

The most popular mechanism used by SaaS products today to offer extensibility is based on webhooks. Webhooks enable the customer to create a web service that will be called when a certain event occurs in your platform. Webhooks are very powerful and flexible: they allow customers to implement arbitrary business logic to extend your core product. 

![Today: webooks](https://cloud.githubusercontent.com/assets/822369/26187727/e9d40b7c-3b4f-11e7-8c3a-9e86b3560dc4.png)

Yet webhooks have their disadvantages. Using webhooks requires your customers to invest in and address several layers of concerns related to running a web service: hosting, monitoring, securing, ensuring availability, and more. All this increases the barrier to extending your product and the required development and maintenance. 

### Tomorrow: serverless webhooks with Auth0 Extend

Auth0 Extend helps you add extensibility to your SaaS product in a way that addresses these concerns. Instead of having your customers provide a webhook URL to a service they need to host elsewhere, your users can implement their extension logic directly within your product [using the Auth0 Extend editor](https://auth0.com/extend/try).

![Tomorrow: serverless webhooks with Auth0 Extend](https://cloud.githubusercontent.com/assets/822369/26187776/2d57cc62-3b50-11e7-9e9b-12b88b474c84.png)

Using Auth0 Extend is a win-win for you and your customers. Everybody benefits from the reduced time to market and the enablement of platform economy around your SaaS product. Your customers are going to be delighted with the state of the art, in-product development experience Auth0 Extend provides. They will appreciate being able to focus on business logic behind extending your system as opposed to servers, hosting, and maintence of their code. 

### Use case: Apollo Lauchpad, the GraphQL playground

A great example of using Auth0 Extend to provide a sandboxed execution environment server side scripts is the just released [Apollo Launchpad](https://dev-blog.apollodata.com/introducing-launchpad-the-graphql-server-demo-platform-cc4e7481fcba), brought to you by the people behind [MeteorJS](https://www.meteor.com/). 

![Apollo Launchpad](https://cloud.githubusercontent.com/assets/822369/26219716/d28b917c-3bc4-11e7-9679-56d90de10eee.png)

Apollo Launchpad is an in-browser GraphQL server playground. It allows developers to share examples and patterns of GraphQL endpoints based on an arbitrary GraphQL schema. The actual endpoint is executing in Auth0 Extend environment to provide adequate isolation and sandboxing of untrusted user code from individual projects. 

Check out the [Apollo Launchpad](https://launchpad.graphql.com/new) yourself!

### What exactly is Auth0 Extend? 

Auth0 Extend is a managed service that can be integrated into your SaaS product to support authoring and execution of custom code your customers write to extend your platform. The service supports a rich development environment your customers can use to develop and debug Node.js code that you can embed directly in your web site. The second part of the Auth0 Extend service supports secure, "serverless" execution of these extensions on behalf of your customers, therefore removing all your customers' concerns related to hosting and maintaining a service. [Read more about the benefits of Auth0 Extend here](https://auth0.com/extend/developers). 

### Lap around Auth0 Extend

While you can provide your own authoring experience for custom code and use only the secure, multi-tenant runtime Auth0 Extend provides to execute it, the Auth0 Extend editor is still the best way to highlight what the platform has to offer. Let's take a lap around Auth0 Extend from the perspective of your customers. 

### Sky is the limit with Node.js and NPM

The primary programming environment in Auth0 Extend is Node.js. Your users can use Node with the vast majority of Node.js modules on NPM across all the versions they desire. The Extend Editor provides a great authoring experience for JavaScript with all the usual creature comforts developers are used to, from syntax highlighting to intellisense. 

![Sky is the limit with Node.js and NPM](https://cloud.githubusercontent.com/assets/822369/26187871/a193e05c-3b50-11e7-819a-b9b7ae417caf.png)

Thanks to an innovative way of handling module dependencies by the Auth0 Extend runtime, the latency of code execution is much less affected by the number or size of them compared to tranditional ways of provisioning Node.js applications. 

### High HTTP fidelity
<commit_msg>typos<commit_after>---
layout: post_extend
title: "Serverless Webhooks"
description: Extend your SaaS with Node.js using Auth0 Extend
date: 2017-05-19 09:23
is_extend: true
category: Product
author: 
  name: "<NAME>"
  url: "https://twitter.com/tjanczuk"
  mail: "<EMAIL>"
  avatar: "https://s.gravatar.com/avatar/53f70144dc9d7c76455fa91f858d4cec?s=200"
design: 
  bg_color: "#3445dc"
  image: "https://cdn.auth0.com/website/extend/developer/blocks-graphic.svg"
tags: 
- extend

---

If you are a developer of a SaaS product, one of the most important features you will add to your platform is extensibility. Extensibility allows your customers to customize and integrate your platform with the ecosystem around it, creating synergy, accelerating growth, and increasing loyalty. 

![Auth0 Extend](https://cdn.auth0.com/website/auth0-extend/images/landing-hero.svg)

You don't have to look far to see how this strategy pays off: virtually all successful SaaS platforms thrive on extensibility: from Slack, SalesForce, to GitHub and Zendesk. 

> Add extensibility to your SaaS. Your users will thank you, your CFO will love you, and your boss will give you a raise.

---

### Today: webhooks

The most popular mechanism used by SaaS products today to offer extensibility is based on webhooks. Webhooks enable the customer to create a web service that will be called when a certain event occurs in your platform. Webhooks are very powerful and flexible: they allow customers to implement arbitrary business logic to extend your core product. 

![Today: webhooks](https://cloud.githubusercontent.com/assets/822369/26187727/e9d40b7c-3b4f-11e7-8c3a-9e86b3560dc4.png)

Yet webhooks have their disadvantages. Using webhooks requires your customers to invest in and address several layers of concerns related to running a web service: hosting, monitoring, securing, ensuring availability, and more. All this increases the barrier to extending your product and the required development and maintenance. 

### Tomorrow: serverless webhooks with Auth0 Extend

Auth0 Extend helps you add extensibility to your SaaS product in a way that addresses these concerns. Instead of having your customers provide a webhook URL to a service they need to host elsewhere, your users can implement their extension logic directly within your product [using the Auth0 Extend editor](https://auth0.com/extend/try).

![Tomorrow: serverless webhooks with Auth0 Extend](https://cloud.githubusercontent.com/assets/822369/26187776/2d57cc62-3b50-11e7-9e9b-12b88b474c84.png)

Using Auth0 Extend is a win-win for you and your customers. Everybody benefits from the reduced time to market and the enablement of platform economy around your SaaS product. Your customers are going to be delighted with the state of the art, in-product development experience Auth0 Extend provides. They will appreciate being able to focus on business logic behind extending your system as opposed to servers, hosting, and maintence of their code. 

### Use case: Apollo Launchpad, the GraphQL playground

A great example of using Auth0 Extend to provide a sandboxed execution environment server side scripts is the just released [Apollo Launchpad](https://dev-blog.apollodata.com/introducing-launchpad-the-graphql-server-demo-platform-cc4e7481fcba), brought to you by the people behind [Meteor](https://www.meteor.com/). 

![Apollo Launchpad](https://cloud.githubusercontent.com/assets/822369/26219716/d28b917c-3bc4-11e7-9679-56d90de10eee.png)

Apollo Launchpad is an in-browser GraphQL server playground. It allows developers to share examples and patterns of GraphQL endpoints based on an arbitrary GraphQL schema. The actual endpoint is executing in Auth0 Extend environment to provide adequate isolation and sandboxing of untrusted user code from individual projects. 

Check out the [Apollo Launchpad](https://launchpad.graphql.com/new) yourself!

### What exactly is Auth0 Extend? 

Auth0 Extend is a managed service that can be integrated into your SaaS product to support authoring and execution of custom code your customers write to extend your platform. The service supports a rich development environment your customers can use to develop and debug Node.js code that you can embed directly in your web site. The second part of the Auth0 Extend service supports secure, "serverless" execution of these extensions on behalf of your customers, therefore removing all your customers' concerns related to hosting and maintaining a service. [Read more about the benefits of Auth0 Extend here](https://auth0.com/extend/developers). 

### Lap around Auth0 Extend

While you can provide your own authoring experience for custom code and use only the secure, multi-tenant runtime Auth0 Extend provides to execute it, the Auth0 Extend editor is the best way to highlight what the platform has to offer. Let's take a lap around Auth0 Extend from the perspective of your customers. 

### Sky is the limit with Node.js and NPM

The primary programming environment in Auth0 Extend is Node.js. Your users can use Node.js with the vast majority of Node.js modules on NPM across all the versions they desire. The Extend Editor provides a great authoring experience for JavaScript with all the usual creature comforts developers are used to, from syntax highlighting to intellisense. 

![Sky is the limit with Node.js and NPM](https://cloud.githubusercontent.com/assets/822369/26187871/a193e05c-3b50-11e7-819a-b9b7ae417caf.png)

Thanks to an innovative way of handling module dependencies by the Auth0 Extend runtime, the latency of code execution is much less affected by the number or size of them compared to tranditional ways of provisioning Node.js applications. 

### High HTTP fidelity

{'fraction_non_alphanumeric': 0.05763362106548086, 'fraction_numerical': 0.035748539541372394, 'mean_word_length': 4.873015873015873, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 26, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3217182', 'n_tokens_mistral': 3266, 'n_tokens_neox': 3007, 'n_words': 1479}