Basics and Requirements
Meetings can be created and initiated from CURSOR CRM via MS Teams.
The following requirements must be met for this:
Registration CURSOR-CRM in Microsoft Azure Cloud and in the mail configuration for the user, three fields must be configured:
Azure Application ID (Client)
Azure secret client key and
Azure directory ID (Client)
This mail configuration must then be assigned to all employees
MS Teams is to be linked to the CRM system like a telephone system
For this, the system setting "Activate MS Teams Integration" must be activated
Microsoft Graph API
To access Office 365, Microsoft has provided the new Microsoft Graph API. This replaces the existing EWS interface.
The Microsoft Graph API provides rest web services to access emails, appointments, tasks, contacts and online appointments. The Microsoft Graph API cannot be used for local Exchange Server installations. Here the hybrid solution of the Exchange Server must be used, because access is only possible via the Microsoft Azure Cloud (https://docs.microsoft.com/de-de/exchange/exchange-hybrid).
The OAuth procedure is used for the registration. CURSOR-CRM stores the access tokens in the database. The storage of Windows passwords in CURSOR-CRM is therefore no longer necessary. To access the Azure Cloud from CURSOR-CRM, a registration is required.
Registration CURSOR CRM in the Microsoft Azure Cloud
Each JBoss server that wants to have access to the Microsoft Graph API must be registered in the Azure Cloud. It is sufficient to create an app registration and then register all servers with the redirection URI. Further information on this topic can be found in the official documentation (https://docs.microsoft.com/de-de/graph/auth-register-app-v2).
Change isolated keys see: https://learn.microsoft.com/en-us/troubleshoot/azure/general/invalid-client-secret
Log in to the Microsoft Azure Portal with the administrator for your organization. Select the item App registrations.
Add a new registration here. Select the 1st account type.
Now register one or more CURSOR-CRM JBoss servers with your redirection URI. The URL isCODE
To enable Microsoft Teams appointments, the following permissions must be enabled:
- OpenId permissions > offline_access
- OpenId permissions > profile
- OnlineMeetings > OnlineMeetings.ReadWrite
- User > User.Read
Then click on “Grant administrator approval for 'CURSOR Software AG'” above the table.
A secret client key must be generated for access.
Because the client key can only be viewed within the installation, it must be saved separately or stored directly in CURSOR-CRM.
The information can then be viewed in the overview page. The application ID (client) and directory ID (client) are required for the following setup of the email configuration in CURSOR-CRM.
Configuration of the Microsoft Graph API/Office 365 with EWS
To use the Microsoft Graph API an existing or new email configuration with the groupware system EWS or MSGRAPH can be used. For this, the application ID (client), the directory ID (client) and the secret client key for the registered application from the Azure Cloud are required.
In the following you can see the configuration for Office 365 with EWS
Login to the Microsoft Graph API/Office 365 with EWS
After the email configuration has been created, the authentication must be carried out. Therefore the following buttons are available in the toolbar.
In their own employee and mail configuration, the user or administrator can perform authentication to Azure ID for the MS Graph API.
For this purpose there is a button in the toolbar. This is only active if MS Graph is entered in the mail configuration.
You can create and save a login token by clicking the "Create and save Office 365 login" button.
Each CURSOR-CRM user must log in separately. For this purpose, the button "Microsoft Graph API login/Office 365 login" is available in the toolbar of the own employee. For global P.O. Boxes, the login information can be stored in the email configuration. The login information in the email configuration is the leading one.
Then log in with your Azure account.
Accept the requested permissions (Microsoft Graph API only).
If successful, your access token was saved.
Then they can check the access to the Microsoft Graph API via the test button.
System setting "Enable MS Teams integration" and "Enable external calls with MS Teams"
If these system settings are activated, the MS Teams icon appears in the toolbar and the protocol can be linked.
Activate MS Teams integration
Connection of MS Teams as telephone system.
The callto protocol must be linked to MS Teams in the operating system (e.g. Windows).
The call via MS Teams can be initiated via the button in the toolbar or at the email field.
Enable external calls with MS Teams
Shows the call buttons of Teams on business partners and contacts.
This applies to the following points:
Hides the call buttons of Teams on business partners and contacts.
The "Create Microsoft Teams Meeting" feature is still available.
User interaction and design
Login action of the user
If you are logged into Microsoft 365 with your Microsoft account, you can send MS Teams meetings.
However, there is a limitation here.
The login to Microsoft 365 is done using tokens.
This token is only valid for 7 days, after which it will be extended for a further 21 days, provided no MS Teams meeting has taken place during this period.
If no MS Teams meeting is initiated within these 28 days either, then the token will have expired and the user will have to log in to Microsoft 365 again.
Therefore, it is necessary to ensure that the sign-in process to Microsoft 365 is queried when an MS Teams meeting is created.
Currently, this is only possible on the employee dataset via an icon "Log in to Office 365 and save"
Initiate and participate in meetings
MS Teams was integrated with CURSOR-CRM to initiate and manage meetings from CRM. It is possible to establish a connection directly in CRM.
If administrative settings have been made, the following functionalities are available:
Initiating meetings from the calendar
Initiating meetings on a contact partner dataset
Initiating meetings on an activity dataset
If MS Teams has not been configured, buttons are hidden.
Opens the dialog for editing. The values from the activity are also drawn.
Opens the dialog for sending the meeting request. The above values from the activity are transferred.
If the meeting request has already been sent, the button is grayed out.
If the meeting request has already been sent AND this is a Teams meeting, this button can be used to call up the MS Teams meeting.
All other types
Opens the dialog for editing. The values from the activity are transferred
The created appointment/meeting can then also be opened directly (the previously linked dataset is visible via the history).
Initiating meetings from the calendar
If the user clicks on a desired day in the calendar of the Web Client, an action selection opens:
The reference to an MS Teams meeting is for informational purposes only. At this point, no actual link to the meeting exists. Only when the meeting request is sent, a link is generated and added to the end of the mail.
If you select the New appointment option, a new appointment dialog opens. No recipient from the calendar is entered for an appointment (regardless of whether other calendars are open or not). Here you can enter the subject and adjust the date. You also have the option of converting the activities into a meeting afterwards.
Clicking New meeting opens a dialog for a new meeting. In the case of a meeting or team meeting, the employees of the previously opened calendars are entered in the 'Participant' field. Here you can enter a subject, add further participants and adjust the date.
This is how an MS Teams meeting is created:
Select MS Teams meeting
Enter subject, start, end, if necessary mail content
Sending meeting request
When sending the meeting request, there is still some kind of summary and the question if the meeting request should be sent. After that, the meeting can no longer be adjusted or changed in CRM.
If no participant is entered, you cannot send the meeting request.
Create as appointment
Start: The date selected in the calendar is used.
End: The date selected in the calendar + 60 minutes is used.
If participants are entered and you create a new appointment, they will also be linked to the activity.
Initiating meetings on a contact person dataset
In the toolbar of the contact person's dataset, the function Send meeting request is available. If the meeting is a Teams meeting, the MS Teams meeting can be called up by clicking on the button.
Initiating meetings on an activity dataset
For meeting requests/appointments there is a variable button that is displayed depending on the activity type.
The button is called "Edit appointment"
Even after saving the button does not change
MS Teams cannot be opened in this constellation
Meeting / MS Teams Meeting
The button is called "Send meeting request"
The button is available until the meeting request has been sent.
If this is a Teams meeting, then the button changes to an MS Teams icon and you can open/participate in the Teams meeting from here
If this is not a Teams meeting, the button is grayed out
For all other types "Create new appointment/meeting"
A new activity is created
If you click on the button, you will get to the same dialog as in the CRM calendar and also on the contact person.
Participate in MS team meetings
Appointment reminders are displayed in the notification system. To do this, click Join Meeting.
Alternatively, click the link in the memo field in the activity.
Call via MS Teams
If the system setting Activate MS Teams Integration is active, MS Teams calls can be started.
On an employee dataset and in the case of lookup fields on an employee, there is also a button to start an MS Teams call.
Via the system setting Enable external calls via MS Teams, the MS Teams Calls button can be activated on the business partner and contact person. This then also affects all lookup fields on a contact person.
Via the toolbar to the contact person, business partner, employee, person and communication, the chat of MS Teams can be opened via the associated email address. If the participant does not exist in MS Teams, this will be indicated there.