Services are used to enable workflow automation in your solution. Services can be thought of as apps without a user interface.
A service can be used to:
- Receive data from an external service, for example sensor data, or new orders.
- Send data to an external service, for example to update inventory or generate invoices.
Endpoints are the external interface of a service. They parse the request, trigger an action, and facilitate which data is returned.
An endpoint has a URL and one or more HTTP methods which together make it unique in your solution. The URL and appropriate method are used by external services to call the endpoint.
One key difference to be aware of compared to apps is around performance. Each time one of the service's endpoints is called, all database-connected data sources are filtered and re-evaluated. If you need to use database-connected data sources in your service, you should limit the number of endpoints and instead spread the functionality across multiple services. We recommend using runtime-only data sources to read data from the database in order to limit the performance impact of this pattern.
Actions for services work in the same way as actions for apps and are primarily used to process data and send web requests. One key difference is that actions in services are run on the server, while actions in apps are almost always run in the browser. There are some action nodes that are exclusive to services, such as Update secret and others that are not available, for example Navigate.