# Intents

**Kind**: module | **Library**: @interopio/desktop | **Access**: `io.intents`

**Source**: https://docs.interop.io/desktop/reference/javascript/intents/index.html

The Intents API enables you to enhance workflow scenarios where at certain points in the workflow the user must use
a specific app, or select an app from a list of available apps, in order to execute a business action.
This is achieved by allowing apps to raise requests for other apps to handle predefined actions (Intents). When an Intent is raised,
an app (or a running instance of it) that has already been registered as a handler for this Intent (dynamically or via configuration)
may be chosen programmatically or by the end user to be started or activated in order to handle the raised Intent.
For instance, you may have an app showing client portfolios with financial instruments.
When the user clicks on an instrument, you may want to start an app which shows a chart for that instrument.
In other cases, you may want to present the user with several options for executing an action or handling data from the current app.
The Intents API makes all that possible by enabling apps to register, find and raise Intents.

The Intents API is accessible via the [`io.intents`](https://docs.interop.io/desktop/reference/javascript/intents/api/index.md) object.

## Interfaces

- [API](https://docs.interop.io/desktop/reference/javascript/intents/api/index.md): Intents API.
- [AddIntentListenerRequest](https://docs.interop.io/desktop/reference/javascript/intents/addintentlistenerrequest/index.md): Describes a dynamically registered Intent. Dynamically registered Intent handlers share the life span of the respective app instance.
- [AppHandlerExclusion](https://docs.interop.io/desktop/reference/javascript/intents/apphandlerexclusion/index.md): Describes the criteria for excluding Intent handlers by app name when using the `filterHandlers()` method.
- [Config](https://docs.interop.io/desktop/reference/javascript/intents/config/index.md): Global settings for the Intents API.
- [FilterHandlersResult](https://docs.interop.io/desktop/reference/javascript/intents/filterhandlersresult/index.md): Describes the result returned by the `filterHandlers()` method.
- [GetIntentsResult](https://docs.interop.io/desktop/reference/javascript/intents/getintentsresult/index.md): Describes the result returned by the `getIntents()` method.
- [HandlerFilter](https://docs.interop.io/desktop/reference/javascript/intents/handlerfilter/index.md): Specifies the criteria for filtering the available Intent handlers when using the `filterHandlers()` method.
- [InstanceHandlerExclusion](https://docs.interop.io/desktop/reference/javascript/intents/instancehandlerexclusion/index.md): Describes the criteria for excluding Intent handlers by app instance ID when using the `filterHandlers()` method.
- [Intent](https://docs.interop.io/desktop/reference/javascript/intents/intent/index.md): Describes an Intent.
- [IntentContext](https://docs.interop.io/desktop/reference/javascript/intents/intentcontext/index.md): Describes the predefined data structure that will be passed to an Intent handler.
- [IntentFilter](https://docs.interop.io/desktop/reference/javascript/intents/intentfilter/index.md): Filter for retrieving Intents.
- [IntentHandler](https://docs.interop.io/desktop/reference/javascript/intents/intenthandler/index.md): Describes an Intent handler implementation.
- [IntentInfo](https://docs.interop.io/desktop/reference/javascript/intents/intentinfo/index.md): Provides additional information about an Intent (e.g., when an Intent is retrieved with the `getIntents()` method).
- [IntentRequest](https://docs.interop.io/desktop/reference/javascript/intents/intentrequest/index.md): Describes a request for raising an Intent.
- [IntentResult](https://docs.interop.io/desktop/reference/javascript/intents/intentresult/index.md): Describes the result from a raised Intent.
- [Resolver](https://docs.interop.io/desktop/reference/javascript/intents/resolver/index.md): API for controlling the Intents Resolver UI app.
- [ResolverCaller](https://docs.interop.io/desktop/reference/javascript/intents/resolvercaller/index.md): Describes the app instance that opened the Intents Resolver UI.
- [ResolverIntentHandler](https://docs.interop.io/desktop/reference/javascript/intents/resolverintenthandler/index.md): Describes an Intent handler app within the Intents Resolver API.
- [SendResolverResponseOptions](https://docs.interop.io/desktop/reference/javascript/intents/sendresolverresponseoptions/index.md): Options for sending the chosen Intent handler to the app that raised the Intent.

## Type Aliases

- [HandlerExclusionCriteria](https://docs.interop.io/desktop/reference/javascript/intents/handlerexclusioncriteria/index.md): Criteria for excluding Intent handlers from the results when using the `filterHandlers()` method.
