# Config

**Kind**: interface | **Module**: [io.Connect Office](https://docs.interop.io/adapters/reference/javascript/io.connect%20office/index.md)

**Source**: https://docs.interop.io/adapters/reference/javascript/io.connect office/config/index.html

Object for configuring the initialization of the `@interopio/office` library.

## Properties

- **`application`** (`string`, optional)
  Application name. If not specified, the value depends on the hosting environment.
  For the browser - `document.title + random number` (e.g., ClientList321333).
  In desktop - `containerName + browserWindowName` (e.g., Internal.ClientList).
- **`auth`** (`IOConnectCore.Auth | string`, optional)
  Authentication can use one of the following flows:
  - username/password;
  - `token` - access tokens can be generated after successful login from the Auth Provider (e.g., Auth0);
  - `gatewayToken` - Gateway tokens are time limited tokens generated by the Gateway after an explicit request. To generate one, use the `io.connection.authToken()` method;
  - `sspi` - using `sessionId` and authentication challenge callback;
- **`bus`** (`boolean`, optional)
  Enable or disable the Pub/Sub API.
- **`contexts`** (`boolean | ContextsConfig`, optional)
  Enable, disable and configure the Contexts API.
- **`customLogger`** (`IOConnectCore.CustomLogger`, optional)
  Pass this to override the build-in logger and handle logging on your own
- **`excel`** (`boolean`, optional) default: `true`
  If `true`, will enable the Excel API.
- **`gateway`** (`GatewayConfig`, optional)
  Configurations for the io.Connect Gateway connection.
- **`glue`** (`IOConnectCore.API`, optional)
  Deprecated. Use the `io` property instead.
- **`identity`** (`{ [key: string]: string | number | boolean }`, optional)
  Specify custom identity fields. Those can also override some of the system fields assigned
- **`insights`** (`boolean | IOInsights.Settings`, optional)
  io.Insights settings for metrics, tracing and logging.
- **`io`** (`IOConnectCore.API`, optional)
  Use this to initialize the `@interopio/office` library with an already existing API instance of the `@interopio/core` library.
  In this case, the already initialized `@interopio/core` library will be extended with the `@interopio/office` APIs.
  If not provided, the `@interopio/office` library will initialize its own instance of the `@interopio/core` library internally.
- **`logger`** (`IOConnectCore.Logger.LogLevel | LoggerConfig`, optional)
  Defines logging levels per output target.
- **`metrics`** (`boolean | MetricsConfig`, optional)
  Metrics configurations.
- **`outlook`** (`boolean`, optional) default: `true`
  If `true`, will enable the Outlook API.
- **`word`** (`boolean`, optional) default: `true`
  If `true`, will enable the Word API.

## Related types

- [API](https://docs.interop.io/adapters/reference/javascript/io.connect%20office/api/index.md)
- [LogLevel](https://docs.interop.io/adapters/reference/javascript/logger/loglevel/index.md)
- [Logger](https://docs.interop.io/adapters/reference/javascript/insights/logger/index.md)
- [Settings](https://docs.interop.io/adapters/reference/javascript/insights/settings/index.md)
