Docs Menu

Docs HomeAtlas App Services

Third-Party Services [Deprecated]

On this page

  • Introduction
  • Concepts
  • Service Clients [Deprecated]
  • Service Actions [Deprecated]
  • Service Rules [Deprecated]
  • Incoming Webhooks [Deprecated]
  • Guides
  • Built-In Services
  • Reference Documentation

Important

Third Party Services & Push Notifications Deprecation

Third party services and push notifications in App Services have been deprecated in favor of creating HTTP endpoints that use external dependencies in functions.

Webhooks have been renamed to HTTPS Endpoints with no change in behavior. You should migrate existing Webhooks.

Existing services will continue to work until November 1, 2024.

Because third party services and push notifications are now deprecated, they have been removed by default from the App Services UI. If you need to manage an existing third party service or push notification, you can add the configurations back to the UI by doing the following:

  • In the left navigation, under the Manage section, click App Settings.

  • Enable the toggle switch next to Temporarily Re-Enable 3rd Party Services, and then save your changes.

Modern applications often use multiple external services to handle complex use cases, such as messaging, analytics, and data management. You can connect to these services through Atlas App Services by creating and configuring service interfaces.

Service interfaces specify the connection details for a specific external service and enable you to define the scope of that service's capabilities with custom service rules. Once you've configured an interface for a service, you can instantiate a service client that connects to the interface and exposes the service's actions as methods. You can also create incoming webhooks that enable external services to communicate directly with your App over HTTP.

Note

Built-In Service Clients

App Services includes clients for certain external services, such as Twilio and AWS. You can also use the HTTP service to create a custom interface for any external service that offers a REST API.

A service client is an object that connects to a service interface and enables you to call actions associated with the service. You can instantiate service clients in functions (using function context) as well as in your client application code.

For details on instantiating and using service clients, see Call a Service Action.

A service action is a method that handles a specific use case for a particular service, such as sending a text message with Twilio or putting an object to an AWS S3 bucket. Actions encapsulate implementation details like request authentication and HTTP methods behind semantic methods that are specific to each service.

When you call a service action, App Services evaluates each service rule that applies to the action and prevents execution unless one of the rules evaluates to true.

Important

App Services blocks all service actions by default. You must configure a service rule that enables a particular action before you can call it.

A service rule is an expression that App Services evaluates to determine whether or not a user can execute one or more actions in a service.

For example, you could create a Twilio rule that only lets users send a text message from a specific phone number or an AWS rule that prevents users from putting objects to an S3 bucket that is not included in a list of approved buckets.

Note

Expression Variables

Expression variables are variables that you can include in service rules to represent dynamic information about your application and an action's execution. You can configure service rules based on the authenticated user that called an action (%%user) and the arguments that they provided (%%args). You can also create complex rules that call a Function (%function) and evaluate based on the Function's return value.

An incoming webhook is a custom handler for events that originate from an external service, such as when someone opens a new pull request on GitHub or sends a text message to a Twilio phone number. Get started with incoming webhooks by configuring a service webhook.

Incoming webhooks consist of two primary components: the webhook URL and the webhook Function.

Component
Description
Webhook URL

A URL that uniquely identifies the incoming webhook. External services can interact with the webhook by sending an HTTP request that matches the webhook's configuration to the webhook URL.

To use a webhook, provide the webhook URL to an external service's HTTP request handler, which may also be referred to as an outgoing webhook, callback URL, or similar.

Note

If an incoming webhook requires a secret query parameter, make sure that you append the query parameter to webhook URL before you provide it to the external service.

Webhook Function
A webhook function is an Atlas Function that accepts an incoming HTTP request with data from the external service as its argument and optionally returns an HTTP response.
Guide
Description
Learn how to create a new external service interface.
Learn how to configure and execute an incoming webhook to handle events in external services.
Learn how to safely expose a service action for use in a function or client application.
Learn how to call a service action from a function or client application.
Subject
Description
Includes service configuration parameters, directions for adding a webhook to Twilio, and additional information about Twilio service actions.
Includes additional information about HTTP service actions and webhooks.
Includes service configuration parameters, additional information about specifc AWS service actions, and generic directions for connecting to any AWS service.
Includes service configuration parameters, directions for adding a webhook to GitHub, and guidance on validating incoming requests from GitHub.
Subject
Description
Describes how to verify incoming requests, parse a request payload, and send a response in service webhook functions.
←  Push Notifications [Deprecated]Replace Services with npm Modules →