# 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](/files/-MhmNRy__bv0JoICmmOi)

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

![Adding service configuration key/values](/files/-MhmNdkHYJ0SH5TKYpb7)

Then add *clientId* key with your client Id.

![Adding clientId key](/files/-MhmNnzBnKU-Oc4kBDgc)

And then the *clientSecret*.

![Adding clientSecret](/files/-MhmNzj42yBCt8C_wd4z)

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: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

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

The question should be specific, self-contained, and written in natural language.
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.
