# M365\_BUILDER

DNSControl offers a `M365_BUILDER` which can be used to simply set up Microsoft 365 for a domain in an opinionated way.

It defaults to a setup without support for legacy Skype for Business applications. It doesn't set up SPF or DMARC. See [`SPF_BUILDER`](https://github.com/StackExchange/dnscontrol/blob/master/language-reference/record-modifiers/dmarc_builder/README.md) and [`DMARC_BUILDER`](https://github.com/StackExchange/dnscontrol/blob/master/language-reference/record-modifiers/spf_builder/README.md).

### Example

#### Simple example

{% code title="dnsconfig.js" %}

```javascript
M365_BUILDER({
    initialDomain: "example.onmicrosoft.com",
});
```

{% endcode %}

This sets up `MX` records, Autodiscover, and DKIM.

#### Advanced example

{% code title="dnsconfig.js" %}

```javascript
M365_BUILDER({
    label: "test",
    mx: false,
    autodiscover: false,
    dkim: false,
    mdm: true,
    domainGUID: "test-example-com", // Can be automatically derived in this case, if example.com is the context.
    initialDomain: "example.onmicrosoft.com",
});
```

{% endcode %}

This sets up Mobile Device Management only.

#### Parameters

* `label` The label of the Microsoft 365 domain, useful if it is a subdomain (default: `"@"`)
* `mx` Set an `MX` record? (default: `true`)
* `autodiscover` Set Autodiscover `CNAME` record? (default: `true`)
* `dkim` Set DKIM `CNAME` records? (default: `true`)
* `skypeForBusiness` Set Skype for Business/Microsoft Teams records? (default: `false`)
* `mdm` Set Mobile Device Management records? (default: `false`)
* `domainGUID` The GUID of *this* Microsoft 365 domain (default: `<label>.<context>` with `.` replaced by `-`, no default if domain contains dashes)
* `initialDomain` The initial domain of your Microsoft 365 tenant/account, ends in `onmicrosoft.com`
