> For the complete documentation index, see [llms.txt](https://docs.appmixer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.appmixer.com/kb/backoffice-features/services.md).

# Services

As you already know, Appmixer comes with a set of components. Some of those can be used directly, some require user authentication into a third-party system (Slack for instance). This authentication is usually done through the OAuth protocol which requires a pair of secrets stored in Appmixer. There are, nonetheless, more ways you can save those secrets in Appmixer. Using Appmixer Backoffice is the easiest one.&#x20;

Let's say you want to start using Slack components. First, you need to register your Slack application on the Slack website where you will be provided with *clientId* and *clientSecret*. Once you have those, you can save them into Appmixer.

![Creating new service configuration](https://660555879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Meyy9fJyhzsrd3q4-5N%2F-MhmLjoozT9wVd8dxRGi%2F-MhmNRy__bv0JoICmmOi%2Fpic-services-1.png?alt=media\&token=01dafe24-04b5-46ae-9bfc-a44692a6b1fa)

We can now add the *clientId* and *clientSecret*.

![Adding service configuration key/values](https://660555879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Meyy9fJyhzsrd3q4-5N%2F-MhmLjoozT9wVd8dxRGi%2F-MhmNdkHYJ0SH5TKYpb7%2Fpic-services-2.png?alt=media\&token=305d570d-8fc1-4707-8e04-a53f9e0f4ec4)

Then add *clientId* key with your client Id.

![Adding clientId key](https://660555879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Meyy9fJyhzsrd3q4-5N%2F-MhmLjoozT9wVd8dxRGi%2F-MhmNnzBnKU-Oc4kBDgc%2Fpic-services-3.png?alt=media\&token=b25d9507-5b06-49df-936c-6293b42bb53d)

And then the *clientSecret*.

![Adding clientSecret](https://660555879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Meyy9fJyhzsrd3q4-5N%2F-MhmLjoozT9wVd8dxRGi%2F-MhmNzj42yBCt8C_wd4z%2Fpic-services-4.png?alt=media\&token=d7114d6f-abc8-4823-b6b5-b325b57b8f54)

After that, you can use the Slack components in Appmixer.

You can add any key/value pair here. All the keys and their values will be available in your component's code at `context.auth` object and in the case of *auth.js* files directly in the `context` object.

You can use this configuration even for components that do not require user authentication into third-party applications. [DeepAI](https://docs.appmixer.com/appmixer/app-registration/deepai#sign-up-at-deepai) component is a good example. In this case, you need an API key in order to use the Deep AI API, but you don't want your users to provide that API key. Instead of that, you may want to use your own API key for all your users to make their lives a little bit easier.

{% hint style="info" %}
Refer to our technical documentation to learn more about "Services": <https://docs.appmixer.com/appmixer/appmixer-backoffice/services>
{% endhint %}

You rock! 🔥 You learned all the basics about Backoffice. [Now, it's time to get some guidance on how Appmixer gets embedded into your platform, and preview what your end-users interact with](/kb/sdk-demo/workflow-automation.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.appmixer.com/kb/backoffice-features/services.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
