The Calendar Sync takes place around every 1 min.
It will not check for existing events, but will start syncing new events created after correct configuration, i.e. once the new Sync rule is “active”.
Events deleted from synced calendars on “Google Calendar” or “MS Outlook > Calendar” will not get synced again.
Requirements farmerswife:
Licensing: The farmerswife side is free of charge, no licensing needed.
Version: 7.2 Beta 4 and later.
Configuration effort: Around 15 to 30 min. within farmerswife; this depends on how many Calendar Rules you need to configure and how familiar you are with either or both of the two platforms Google Calendar or MS Outlook > Calendar.
Requirements Google Calendar:
Google: Business Account in order to use Google API + Oauth and Access Credentials as a “Super Admin”
Configuration effort: 15 min. and longer due to the “Certificate” creation part.
Requirements EntraID / Outlook:
MS Outlook: Entra ID, Graph API App Registration, Exchange: mailbox license needed, “Super Admin” access on 2 MS platforms (https://entra.microsoft.com/ and https://admin.microsoft.com/).
Configuring Calendar Sync Rules in farmerswife
Please use the following steps to start using this new Feature.
Step 1: Enable Calendar Sync
Go to fw Client desktop app > Toolbox > Settings > Server Setup > "Enable Calendar Sync" and check this new setting to enable it:
Step 2: Access the Calendar Sync Setup
Then go to the new Calendar Sync section at the bottom in fw Client app > Toolbox > Settings > Server Setup > Calendar Sync: and click on the new button “Setup”.
Step 3: Create a Sync Rule
On the Calendar Sync Settings window click on the sub-menu icon:
Select one of the following 3 options depending on the to be used Provider!
"New Rule:"
This option is designed for syncing Object-specific Event Types like Project Bookings, Task Bookings and Personnel events.
IMPORTANT: farmerswife offers 13 different Event Types which also have different appearance within farmerswife:
On the synced 3rd party Calendars these properties are not supported and the synced events all look the same.
See this comparison example where 11 of the 13 available Event Types are booked on the farmerswife’s Hourline compared to how they show up on Outlook web > Calendar on a users Calendar:
We recommend to focus on first using the here listed examples and keep the configuration as simple as possible!
Provider: Usable with Google Calendar and Outlook Calendar.
"New Rule (Users & Resources):"
This option is designed for syncing all users and Resources (on farmerswife DemoDB called “Suites/Workstations”, “Equipment/Machines”, “Facility”), instead of having to manually select all users and Resources, you can just use this option. And any added or removed Objects get automatically updated.
Provider: Only use with Google Calendar; see more info on below Step 5.
"New Exclude Rule:"
This rule allows to create an exclusion rule for specific Objects or event types, preventing them from being synced to the calendar.
Provider: Only use with Google Calendar; see more info on below Step 5.
Step 4: Configuring a new Sync Rule for Provider: Outlook Calendar
- On the Calendar Sync Settings window > sub-menu icon > select "New Rule":
- Click on the “Select” button set the Provider to “Outlook Calendar”.
- Click on the “0 Selected” button for “Event Types” and from these 13 Event Types:
- Click on Project Booking, Task Booking and Personnel events Inactive, Sick and Vacation one after the other to move them from the Not Selected pane on the left to the Selected pane on the right side and click “OK” to complete the Event type selection:
- Click on the “0 Selected” button for “Objects” and select the Object(s) you wish to sync; in this example the user "Daniel" is selected:
IMPORTANT: See the 3 main uses cases below on how different configuration will show the synced events or the information of Involved Objects in different ways on Outlook > Calendar.
Latest now you need to use configuration information from your MS Entra > App Registration process, in order to populate the "Settings" window with the necessary credentials to authenticate with the Microsoft Graph API:
For detailed configuration info see Appendix: Microsoft Entra
Fill in the:Tenant ID:
Client ID:
Client Secret:
Calendar Owner Email: This refers to the email address associated with the user or resource that “owns” the calendar.
Event Status: Set this either "Busy" or "Free".
Save the rule by clicking OK.
Validate the Outlook Calendar Configuration
Right after properly creating a new Sync rule the Sync Status column will show "Pending":
This will change at the moment you create a first "event" on farmerswife to be synced to the Outlook Calendar.
Create a Task Booking on the user Object "Daniel" with the Calendar Owner Email "daniel@your-entra/exchange/outlook-email.com".
The Calendar Sync automatically takes place around every 1 min.
After the first successful sync it will look like this and show in Sync Status: Synced:
Use the “View” button to see the logs for that specific Sync Rule:
This "Info" pop-up window will also contain "error debug" information.
3 different use cases in farmerswife and Outlook Calendar:
- A simple Calendar Sync one each per fw user to also show “Involved Objects” on the user’s own event on Outlook Calendar.
This is the above example. - A simple Calendar Sync one each per “Resource” from farmerswife.
IMPORTANT:
Go to https://admin.microsoft.com > Home > Resources > Rooms & equipment - sign in as a Super Admin and create a “Room” Resource per each fw “Suites/Workstations” Object examplesStudio 1, Studio 2 and Studio 3.
On farmerswife side create a new Rule per each of the 3 Objects:
Provider: Outlook Calendar
Event Types: Project Booking
Objects: Studio x
Settings > Calendar Owner Email: here use the Email of each Room
NOTE: It is already work in progress to have a "Rule Name" field for fast identification of each Rule. - A simple Calendar Sync per farmerswife > Object Class with “Studios” with 3 Members: Studio 1, Studio 2, Studio 3
examples “studio 2” + “Camera 3” … these are resource calendars … which each user has to add on their outlook > use “Add calendar” > Add from directory > select your own account, then you are able to select e.g. Studio 2 or Camera 3 … depends what is configured.
Fw > studio 1 & 2 & 3 …can have its own Rule in “Calendar Sync Settings” !!! - A Calendar Sync per ALL to be synced Objects for Outlook Calendar s not supported yet.
Please come back later for more info
Microsoft Entra and Microsoft Admin platform configuration
For the new Calendar Sync > Outlook Calendar functionality to work by using the Microsoft Graph API, you need to be able to sign in as a "Super admin" into:
- Microsoft Entra Admin Center:https://entra.microsoft.com/
- Microsoft Admin Center: https://admin.microsoft.com/
Here do an App Registration and configure its Permissions to access users’ calendars.
Register the Calendar Sync > Outlook Calendar Application on Microsoft Entra ID
Sign in to the Microsoft Entra Admin Center.
Navigate to Identity > Applications > App registrations.
Click + New Registration.
Provide the following details:
Name: Enter a descriptive name for your app (e.g. "fw-CalendarSync-OutlookCalendar").
Supported account types: Select Accounts in this organizational directory only (MSFT only - Single tenant). If you have specific requirements for other account types please contact supportATfarmerswife.com.
Redirect URI: Leave this blank.
Click Register to create the application.
Configure API Permissions
After registration, you will be redirected to the application's overview page.
In the left menu, go to API permissions.
Click + Add a permission and select Microsoft Graph.
Choose Application permissions (for server-to-server communication).
Search for and add the following permissions:
Calendars.ReadWrite: Allows the app to read and write all users’ calendars.
Click Add permissions.
After adding permissions, click Grant admin consent for [Your Tenant Name].
Confirm your action to grant consent for the entire Tenant.
Generate and Configure Client Secrets
Go to the Certificates & secrets section in the app registration.
Under Client secrets, click + New client secret.
Provide a description (e.g., "CalendarSync Secret") and set an expiration period (e.g., 12 months, 24 months).
Click Add.
Copy the Value of the client secret immediately and save it securely. You will not be able to view it again.
Collect the needed Application Details
Return to the Overview page of the application registration.
Copy and save the following details:
Application (client) ID: This is your client ID.
Directory (tenant) ID: This is your tenant ID.
Tenant ID:
Client ID:
Client Secret:
Calendar Owner Email: This refers to the email address associated with the user or resource that “owns” the calendar.
Assign Roles for Access
Navigate to Identity > Applications > Enterprise applications in the Microsoft Entra Admin Center.
Find and select the application you just registered.
Go to Permissions and ensure the correct permissions have been assigned to the app: API: Microsoft Graph
Permissions name:
Calendars.ReadWrite
Calendars.ReadWrite
Type: Application
Description: Read and write calendars in all mailboxes.
Admin consent requested: Yes
Status: Granted for MSFT
<screen shot?>
Ensure that the Service Account (find missing info on EntraID) has the necessary Directory Roles (e.g. Application Administrator) to allow proper access.
2025-02-05: => While creating the "service account user” use in “Create new user > Assignments > Role > Application Administrator”
Grant Calendar Access to the Service Account
To allow the Service Account to manage calendars across your organization:
Ensure the Service Account (user or resource) has appropriate access to calendars.
In the Microsoft 365 Admin Center (https://admin.microsoft.com/), navigate to Users > Active Users … e.g. “fwOutlookCalendar” … or each specific user or resource Object on entra.
Assign the Service Account the necessary roles (e.g., Global Administrator (DH too strong?) or Application Administrator) if required.
Configuring new Rules for Provider: Google Calendar
<this part is still under construction>
New Rule (Users & Resources):
This option is designed for syncing all users and Resources (on farmerswife DemoDB called “Suites/Workstations”, “Equipment/Machines”, “Facility”), instead of having to manually select all users and Resources, you can just use this option. And any added or removed Objects get automatically updated.
Provider: Only use with Google Calendar; see more info below.
For example, you could now disable the existing functionality “Google Invites” (if it was in use before) and replace it by doing the following steps:
- Create a “New Rule (Users & Resources)”
- Select “Google Calendar” as Provider.
- Select “Project Bookings” in the “Select Event Types” window.
Click “Settings” for this new rule and tick the checkbox ”Booking Objects Accept/Decline”.
<screen shot creation work in progress>
New Exclude Rule:
This rule allows to create an exclusion rule for specific Objects or event types, preventing them from being synced to the calendar.
Provider: Only use with Google Calendar; see more info below.
- Set the Provider to Google Calendar.
- Choose the desired Event Types.
- Select the Objects you wish to sync.
- Latest now you need to use configuration information from your Google Cloud Service account!
See down below: Appendix: Google Cloud Platform <coming soon>. - Fill in the necessary details:
- Calendar ID: Enter the Google Calendar ID.
- Impersonation Email: Provide the email used to authenticate with Google Calendar.
- Specify whether booking Objects can Accept/Decline Invites by toggling the appropriate check-box.
<screen shot creation work in progress> - Set the Event Status (e.g., "Busy" or "Free").
- Save the rule by clicking OK.