# Services

Open Appmixer Backoffice and click the *Services* item in the main menu.

![Service configuration.](https://4257661311-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkpyTqJi517UiwFJJRydZ%2Fuploads%2Fgit-blob-5181ca505d4234272d590d2d0731b7b5d60d9442%2Fmenubar_and_appmixer_backoffice_-_service_configuration.png?alt=media)

Appmixer comes with a set of components. Some of those can be used directly, but some require user authentication into a 3rd party system (Slack for instance). This authentication is usually done through the OAuth protocol. That protocol requires pair of [secrets](https://docs.appmixer.com/6.0/5.2/component-definition/authentication#setting-oauth-1-2-secrets) stored in Appmixer.

There are more ways how to save those secrets in Appmixer. Using Appmixer Backoffice is the easiest one. Let's say you want to start using Slack components. First, you need to register your Slack application on the Slack website, then you will be provided with *clientId* and *clientSecret*. Once you have those, you can save them into Appmixer like this:

![Create new service configuration.](https://4257661311-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkpyTqJi517UiwFJJRydZ%2Fuploads%2Fgit-blob-321307ecf8ca375dee6a49debb1fa447e515c6bf%2FAppmixer_Backoffice_-_Service_Configuration%20\(19\).png?alt=media)

As a *Service ID* you use *appmixer:slack.* This is the same value that is used in Slack component.json files in the *auth* section.

![Auth section.](https://4257661311-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkpyTqJi517UiwFJJRydZ%2Fuploads%2Fgit-blob-15d986dde60ce283a4599da8f58703cf7e238105%2Fappmixer_%E2%80%93_NewChannelMessageRT_component_json.png?alt=media)

This tells Appmixer that the NewChannelMessageRT component uses *appmixer:slack* authentication module. Appmixer will try to locate authentication file *auth.js* in appmixer/slack directory.

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

![Adding service configuration key/values.](https://4257661311-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkpyTqJi517UiwFJJRydZ%2Fuploads%2Fgit-blob-b23b407ba7d986e9c243d2d922a427facdfd613f%2FAppmixer_Backoffice_-_Service_Configuration%20\(1\).png?alt=media)

Then add *clientId* (has to be *clientId,* not *clientID* or any other combination) key with your client Id.

![Adding clientId.](https://4257661311-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkpyTqJi517UiwFJJRydZ%2Fuploads%2Fgit-blob-0122fdb17463da59dec8cc34db9a1dcf73f93453%2FAppmixer_Backoffice_-_Service_Configuration%20\(30\).png?alt=media)

And then the *clientSecret*.

![Adding clientSecret.](https://4257661311-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkpyTqJi517UiwFJJRydZ%2Fuploads%2Fgit-blob-d6e7a2a7656e6feac8507cb7062c8c2b80260b19%2FAppmixer_Backoffice_-_Service_Configuration%20\(17\).png?alt=media)

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.

When it comes to authentication, you can also redefine the default `callbackUrl` (redirect URL) for modules using OAuth2 authentication.

<figure><img src="https://4257661311-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkpyTqJi517UiwFJJRydZ%2Fuploads%2FjUoUjBzNcxULCPH2UcBa%2FGoogle_-_6_0.png?alt=media&#x26;token=7ab24d2a-ca5e-4b50-a15d-750cfd53a902" alt=""><figcaption><p>Setting custom callbackUrl for appmixer:google module.</p></figcaption></figure>

You can use this configuration even for components that do not require user authentication into 3rd party applications. [DeepAI](https://docs.appmixer.com/6.0/5.2/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. You want to use your own API key for all your users. More about that [here](https://docs.appmixer.com/6.0/5.2/app-registration/deepai).
