# Read-Write Access

Read-Write Access mode allows your application to create events directly into user calendars, as well as to update or delete the events it creates via the [Create or Update event](/developers/api/events/upsert-event/index.md) endpoint.

This ensures a seamless integration between the user’s calendar and your application, making it particularly valuable for workflows such as scheduling meetings and identifying open time slots through the [Availability API](/developers/authorization/individual-connect/index.md).

Read/Write mode is currently available for users connecting their calendars with the following calendar providers:

- Apple iCloud

- Google

- Office 365

- On-Premise Exchange

> **INFO:** Note that because the `free_busy_write` scope has been used, you will not be able to read the full details of your customers personal event (events that were not created by your application). This means you can only access the Free/Busy status of their personal events, but your application still has the ability to write events directly into their calendar.

## Connecting a user in Read-Write mode
### Individual Connect
**Required Scope**: `free_busy_write`

This mode follows the [Individual Connect](/developers/authorization/individual-connect/index.md) authorisation flow. Within this mode you can make use of any of the Cronofy scopes that are suited to your application's use case when [Requesting Authorization](/developers/api/authorization/request-authorization/index.md).

```
    https://app.cronofy.com/oauth/authorize?response_type=code
      &client_id={CLIENT_ID}
      &redirect_uri={REDIRECT_URI}
      &scope=free_busy_write
      &state={STATE}```
### Enterprise Connect
**Required Delegated Scope**: `free_busy_write`

**Required Scope**: `service_account/accounts/manage`

This mode follows the same steps as the [Enterprise Connect](/developers/authorization/enterprise-connect/index.md) flow. Within this mode you can make use of any of the Cronofy scopes that are suited to your application's use case when [Requesting Authorization](/developers/api/enterprise-connect/request-authorization/index.md).

```
    https://app.cronofy.com/enterprise_connect/oauth/authorize
    ?response_type=code
    &client_id={CLIENT_ID}
    &redirect_uri={REDIRECT_URI}
    &scope=service_account/accounts/manage
    &delegated_scope=free_busy_write
    &state={STATE}```
<br>

---
[Read in HTML](/developers/authorization/access-modes/read-write/)