Avendoo® online documentation

New virtual location

Supporting systems

MS Teams

You can create MS Teams as virtual location in Avendoo®. Therefore you have to do the following settings in Azure and Avendoo®:

  1. Azure: Technical Account
    You need one account for organizing the Teams invitations. The access is controlled by the application authorizations. You do not need login details for the account.
    The technical user needs a mailbox (calendar) and should not be on a local server.
  2. Azure: Enterprise Application
    You have to register a new Costom Application in Azure. The earlier created user requires an authorization for this application.
  3. Azure: App Registrations
    Set the value “allowPublicClient” to “true”. Optionally you can select Download to edit the manifest locally and then you click on Upload to use it again for your application.
    API Permissions:
    You have to assign the following access rights:
    • Microsoft Graph calenders.ReadWrite
      Allow the administrator agreement for this permission.
  4.  Avendoo®: MS Teams as virtual location
    As the event should be presented via MS Teams, the author can select MS Teams in the Event wizard via Virtual location. The access link for the meeting appears for the user in the event date. Therefore the author has to create MS Teams as virtual location.

    You require administrations rights for doing configuration at the Virtual location.

    Choosing Resources  → Locations → New location → Virtual location opens the Venue assistant. Then you can create MS Teams as virtual location. It is important, that you choose Microsoft Teams as Virtual Classroom Type. Also you can do further configuration for the MS Teams location, for example Visibility of join link, Calendar, Time zone. Further information you find in the Venue assistant.

    You should save the MS Teams location in a client, to which all have access. Also you can copy the MS Teams location and allot it on several clients.

  5. Finally you maintain the specific settings from the steps before in Avendoo® in the Venue assistant under Parameters Virtual classroom settings for the virtual classroom connection (see screenshot) as follows:
    • tenantId is maintained (=ID of the Microsoft account; you can show it on the Overview page of the Azure Active Directory in the UUID (=Universally Unique Identifier) format)
    • clientId is maintained (=application ID of Avendoo® within the AzureAD environment; you can show it in the Azure Active Directory under Business applications -> App registrations)
    • Use the Client Secret Authentification Procedure by adding the userId of the Teams user and the value for clientSecret. The authentification via user name and password is not recommended by Microsoft and thus it’s not any longer supported.
      If you have any question, please contact our Support Team.

The following settings correspond to the shown Virtual classroom settings on the tab Parameters in the Venue assistant of the virtual location.

To use a virtual location (at this time with Microsoft Teams connection), the following prerequisistes have to be fulfilled for interface users:

  • You choose Business applications -> Avendoo (=name of the application) -> Users and Groups in the Azure Active Directory for the Office365 user access and check, if the Teams user is added and has got the appropriate permission.
  • The license of Exchange Online (calendar) exists for the user.

Furthermore there have to be the following prerequisites regarding Microsoft Teams:

  • authentification of Avendoo® is maintained. Therefore you choose first App registrations in the Azure Active Directory and then Manifest. A web based manifest editor opens, in which you set the property “allowPublicClient” to “true”.
  • Application Avendoo® has the permission “Group.ReadWrite.All” to use the Microsoft API for creating Teams events.
How to connect MS Teams rooms with the MS Teams API

GoToWebinar and GoToWebinar Admin


– Besides the attributes “clientId”, “clientSecret”, “refreshToken” and “organizerId” the attribute “session_success_percentage” is added since version 17.43. It represents the time in percentage, which a user has to be participated in a webinar to pass. If the automatic attendance list recording is activated in the event and no value is set, then there’s no automatic recording.
– Furthermore the application process is since version 17.43 easier.

To use a virtual location with GoToWebinar connection, do the following steps:

Configure OAuth client for GoToWebinar and GoToWebinar admin
  • https://developer.goto.com/ , register there with the login data for GoToWebinar.
  • Click on OAuth-Clients at the top, then select Create client.
  • Enter the name of the Avendoo® system (learning world, customer’s nameAvendoo etc.) under Client’s name.
  • Optionally you enter a description, for example OAuth client for VC location in Avendoo® LMS.
  • The Avendoo® URL as routing URI has to be stored with the following example path: „https://[AVENDOO_DOMAIN]/author/oauth/return“.
  • Set the check mark at “GoToMeeting, GoToWebinar or GoToTraining“ under “Area”.
    The OAuth client needs for using GoToWebinar Admin additionally the permission for the area “Admin Center”.
  • Copy the “Client ID” (example: fb6ea2f5-37e4-9999-abd9-bbf2e819e600) and the “Client Secret” (example: oWvp0sghVBFGeS0f20we8OWt). The client secret can only be shown once. You have to save it.
Authentication code and refresh token (application process before version 17.43)

Only if you use an Avendoo® version before 17.43, do the following steps. Otherwise you read the step “Create a virtual location in Avendoo® (new connection process)”.

  • Build URL for code request by inserting of the OAuth clientID and the routing URI in the following link: https://api.getgo.com/oauth/v2/authorize?client_id={client_id}&response_type=code&redirect_uri={Routing URL from the OAuthClient}

Example: https://api.getgo.com/oauth/v2/authorize?client_id=fb6ea2f5-37e4-9999-abd9-bbf2e819e600&response_type=code&redirect_uri=https://avendooSystem.de/l/index

  • Copy this URL into the browser and activate it. Then click on Permit or authentificate again with the GoToWebinar account.
  • After loading or re-directing the page, copy all from the address line of the browser into a text editor (not Word). You need the character string after “code” later on.

Example (abbr.): …code=eyJraWQiOiJvYXV0a….-MKSZTrJozmYoE1mPsQ

Execute with cygwin or Postman the following “POST” call:

In Postman:

Type: POST

You have to enter the following headers:
– Accept application/json and
– Content-Type application/x-www-form-urlencoded

You have to select the following Body:
– x-www-form-urlencoded

You enter the Key under the Parameters:
– redirect_uri
– code
– grant_type

The Value consists of the following parts: {Routing URL from the OAuthClient}&grant_type=authorization_code&code=(authentificationcodeFromTheResult of code request with https://api.getgo.com/oauth/v2/authorize?client_id=}

The Value is entered as POST in the URL/End point and is then sent as request.

You see which fields should be filled up with which data in the document „GoToWebinar Postman-Request“.

In cygwin:

  • First go to https://www.base64encode.org/ . There you enter the OAuth client ID, followed by a colon and you enter the OAuth client secret (client-id:clientSecret). At the bottom you click on Encode.

Example: fb6ea2f5-37e4-9999-abd9-bbf2e819e600:oWvp0sghVBFGeS0f20we8OWt

  • Copy the result (mostly with two equal signy at the end) into a text editor (not Word).

Example: ZmI2ZWEyZjUtMzdlNC05OTk5LWFiZDktYmJmMmU4MTllNjAwOm9XdnAwc2doVkJGR2VTMGYyMHdlOE9XdCA=

curl -X POST https://api.getgo.com/oauth/v2/token \


H “Accept:application/json” \

H “Content-Type: application/x-www-form-urlencoded” \

d “redirect_uri=https://example.com&grant_type=authorization_code&code=iS0vynEEvRFA9i6kZ8gvNDnnOGE…”

CAUTION: At the end of the code in “-d “redirect_uri..” is a quotation mark (“)!

  • Send the POST call. The answer contains a “refresh_toke” and a “organizer_key”. These both will be used for the configuration in Avendoo®.







Create a virtual location in Avendoo® (step before version 17.43)
  • Create a new location in Avendoo®. Select in the Venue Assistant Virtual location.
  • You select on the tab Master data in the section Virtual classroom type the option GoToWebinar.
  • Insert on the tab Parameters under Virtual classroom settings the following:





The values for the clientId and the clientSecret are from the OAuth configuration.

The values for organizerId and the refreshToken are from the POST Call (via cygwin or Postman).

Enter on the tab Parameters under Time for creating the room “2440” minutes. Thus the room or session will be created two days before in GoToWebniar.

  • Configure the Prior Visibility of the Join Link between 30 to 60 minutes.  This means, since when the participant can see the link to the GoToMeeting on the Learning place or in the detail view of the event date.
  • Configure the Visibility of join link between 30 to 60 minutes.
  • Save the location.
  • IMPORTANT: If there should be generated several GoToWebinar event dates parallel (=conflicts regarding time), you have to create several virtual locations regarding the event dates.
Create a virtual location in Avendoo® (new connection process)

– You got an admin account, which got GoToWebinar rights (registered to “https://developer.go.to.com“).
– You’ve generated an OAuth client.
– You’ve noticed the “clientId“ and the “clientSecret“.

To use a virtual location with GoToWebinar connection (VC type GoToWebinar admin), do the following steps:

  1. Switch in the Venue Assistant for the virtual location to the tab Parameters (see screenshot) after selecting the VC type GoToWebninar admin on the tab Master data.
  2. Enter the values for “clientId” and “clientSecret” in the following schema:
    „clientId=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee“ and „clientSecret=***********“
    You can create a new GoToWebinar standard with “clientId“ and “clientSecret“ in Avendoo®. Therefore you save the values in the configuration on the tab Parameters under the option Virtual classroom settings and open the page again or reload it.
  3. Then you click the button Start OAuth.
    A dialog window opens.
  4. In this dialog window you confirm, that Avendoo® is connected.
    Then the “OrganizerId“ and the “RefreshToken“ are automatically filled.


You can start a manual recording in the Event manager (attendance list) or you can activate the automatic recording of the attendance lists.

If you got questions, please contact our support team.

Test it


The following settings correspond to the displayed Virtual Classroom Settings on the tab Parameters in the Venue Assistant of the virtual location.

To use a virtual location with YuLinc connection, the following prerequisites have to be fulfilled:

  • manager_username (= user name of the manager in the YuLinc system) is maintained
  • manager_password (= password of the manager in the YuLinc system) is maintained
  • session_success_percentage (= time in percentage, which have to be joined by a user in a YuLinc session for passing) is maintained

You receive the manager account and the password from YuLinc (netucate). Please note that under some circumstances the API usage for YuLinc have to be activated after that.

Note that the YuLinc API event date time is always transferred in the correct time zone. This means, time is created in the time zone of the user in YuLinc. This means that the time zone of the Avendoo® location has to be the time zone of the YuLinc user for having the same time with Avendoo®. And the time, which transfers YuLinc, is the same, which the author configures in the Venue Assistant, independent from the real time zone.

Please feel free to contact our support team.


The following configuration is congruent to the shown Virtual classroom settings on the tab Parameters in the Venue assistant of the Virtual location.

To use a virtual location with Vitero connection since Avendoo® version 17.51 you have to maintain the system setting “connector.vc.vitero”.


The following functions are available since Avendoo® version 17.51:
– the automatic updating of user data in Vitero,
– the Vitero profile pictures,
– the automatic recording attendance,
– the options of the user name granting and
– the updating of the Vitero room sizes.
Note that, if a Virtual location has activated the Vitero audience, each Vitero event date will be created with this activated option.

Please feel free to contact our support team.


The following configuration is congruent to the shown Virtual classroom settings on the tab Parameters in the Venue assistant of the Virtual location.

To use a Virtual location with Zoom connection, the following requirements have to be fulfilled:

  • App in Zoom has to be Server-to-server OAuth app (https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/)
  • The interface user has to be a paid account.
  • All speakers have to be paid accounts to register as alternative hosts.
  • Speakers get the name from the Zoom account displayed and not the name from the Avendoo® account.
  • Only Zoom meeting can be supported in the API. You can’t connect Zoom Webinar.
  • The following information has to be maintained in the location:
    • accountID from the app
    • clientID from the app
    • clientSecret from the app
    • userID (e-mail address of the interface user)

– Note that there will be no automatic recording attendance.
– Each participant will be registered into the Zoom meeting and receives an individual entry link.

Please feel free to contact our support team.


Configure Webex
  1. Create under https://developer.webex.com/my-apps/new a new service app.
  2.  Give the service the following scopes:
    – meeting:schedules_read
    – meeting:schedules_write
    – meeting:participants_read
    – meeting:admin_participants_read
    – meeting:admin_schedule_read
    – meeting:admin_schedule_write
    – spark:people_read
    – spark:people_write
    – spark-admin:licenses_read
    – spark-admin:people_read
    – spark-admin:people_write

    If you don’t create Avendoo® speakers not as host user in WebEx, you can omit the scopes “spark:people_write”, “spark-admin:people_write” and “spark-admin:licenses_read”.

  3. Save the service.
  4. Copy the Client ID and the Client Secret.

    Note that the Client ID and the Client Secret are hidden after this step. Otherwise you generate once again.

  5. An administrator releases the service app.
  6. To authorize the service for an organization, select the organization and enter the Client Secret.
  7. Copy refreshToken and accessToken.
Configure Avendoo®
  1. Login as an author in Avendoo®.
  2. To create a new virtual location with type WebEx, choose Resources → Locations → Create → Virtual location.
    The Location wizard for virtual locations opens.
  3. Enter the required data on tab Master data.
  4. Switch to tab Parameters and maintain the following parameters under Virtual classroom settings:
    • clientId=(copied from WebEx Service App)
    • clientSecret=(copied from WebEx Service App)
    • refreshToken=(copied from WebEx Service App)
    • accessToken=(copied from WebEx Service App)
    • hostEmail=(copied from WebEx Service App)
    • sessionPassword=(copied from WebEx Service App)
    • siteUrl=(information from WebEx Admin)

      Note that the refreshToken and the accessToken expire and you can update them via cronjob.
      If the access is not allowed you can fetch a new refreshToken and accessToken from the site of WebEx with help of Client secret.

  5. You can maintain the following optional parameters:

If you got any question, feel free to contact our support team.

Practical example

You can maintain this data for example for the Parameters for WebEx under unter Virtual classroom settings on tab Parameters in Venue assistant of the virtual locations:

  • clientId=C9a333ec6aa13b7125d4458b4b20880ec8095e5a06f91674ed5d76c4f5756459c9b
  • clientSecret=1e377dcb21e2c454dgrdfee6dfa45ac5dcb344dcec367091e8c0c9b562118dcb
  • refreshToken=BWDWJmMWIwOWEtN4YxNS00NDY9LWI1Y2MtZWYzZmViYTk4MmUyYjAxYTg0YTQtZmM2_PE93_42db55c8-233d-4e19-b4ef-5de3e4cd2120m
  • accessToken=Zjg1Pjg1ZTctNWQ1MC00OHQ1LWEwM2MtNzcwZjk0OTZmMTZkN2ZjZmRhMjItMjhj_PE93_31db44c6-029d-4e17-b4ef-2cb3e4cd345d
  • hostEmail=[bwi.xxx@bwi.de]
  • siteUrl=innohub.webex.com
  • sessionPassword=9bdemskamlpE
  • meetingEnterpriceLicense=[alphanumeric]

Further interfaces to VC tools

Futhermore you can use the following interfaces to VC tools:

  • Vitero
  • WebEx
  • YuLinc

Further information about Vitero and WebEx you find here.

To create a new virtual location, choose Resources → Locations → New location → Virtual location. The Venue assistant opens.

Master data

Title and language

Enter a title and choose a language for the new virtual location.

External reference and External reference type

Enter an external reference and an external reference type for the virtual location.

External references are used for organizing and for linking to other systems. This you can use for manual assignments and on using interfaces, for example: REST API. You can search for external reference in the advanced filter function.
The external reference represents a reference value like ID, serial number or name. The external reference type describes which reference it is and how to understand the reference value. This is very important, if there are different sources or types of references, which use the same reference values.

Reference type SAP customer number with the external reference 100234
Reference type SAP user ID with the external reference 000004

Virtual classroom type

Specify which virtual classroom connection is involved.

By now you can select between:

  • Microsoft Teams
  • GoToWebinar and
  • Link input.
    Example: You insert a Teams Event URL in the dialog field Link in the Event date wizard after adding the virtual location (menu Add virtual room) for joining participants via a link.

The virtual classroom type YuLinc is in progress.


Active location

Indicate whether this location can be used actively or is temporarily not usable (e.g. due to renovation, etc.).

Vitual classroom settings

To show and edit the fields Virtual classroom settings, Time for creating the room and Visibility of join link, the author has set the check mark for the access right View and edit the VC setting at the location.

In this field you see the specific settings for connecting VC (see Supporting systems). These settings depend on the VC type (for example Microsoft Teams).

If you use the virtual location YuLinc, you can do the following settings in this text area via the API: EnableLobby, PreventUserCoun, AccessBeforeStart, Options, Camera, Microphone, Options, ScreenSharing, Recording, RequestToSpeak, PushToTalk and Lobby.

If you’ve selected the VC type Webex under Master data, you can do the following settings:

  • captureSuccess=(number of percent between 0 and 100, which defines since when the automatic record attendance allows the participant to pass, standard: 90%)
  • meetingEnterpriceLicense=(that ID of the license to give the user host rights for a certain site. If this value is set, the speakers are created and updated as host user on Webex)
  • api=(if you host by yourself and you want to relate to the API end points, enter this. Standard is https://webexapis.com)

Time for creating the room

Specify the number of minutes prior to the actual use of the room that you wish the room to be created in the external system. You can enter maximum two days, this means 2880 minutes. This is the time  for the participants for joining the room in advance.


If you’ve selected on the tab Master data the Virtual classroom type “Teams” you can enter 72 hours before for the time for creating the room, this means 4320 minutes. But there are greater values possible. The previsibility of join link and the visibility of join link will be then corresponding adjusted.

Previsibility of join link

To activate the previsibility of join link, set the check mark Activate.

Then define, how many minutes the room should be created before the usage in the external system, for example 5 minutes means that the user can join the room of an event from 3 p.m til 4 p.m. already at 2:55 p.m.

Visibility of join link

To activate the visibility of join link, set the check mark Activate.

Specifiy how long you want a join link to be visible to users in the event area, for example 15 minutes, if the event is from 3 p.m. til 4 p.m., this means the user can only join the room until 3.15 p.m. If you have defined the previsibility of join link for example for 5 minutes, the visibility counts from 2:55  p.m. and the users can join the room only til 3:10 p.m.

If no special period of visibility is indicated, the link is visible during the period the location is used on the event date, for example from 3 p.m. til 4 p.m.

Internal and external remark

Stipulate an internal and external remark about the virtual location.

Alternative description (without HTML)

Enter an alternative description (without HTML) for the virtual location.


Assign calendars

Assign one or more calendars (for example: a calendar for national holidays and another calendar for regional holidays) to each material by clicking the button Add and selecting the appropriate calendar. You can remove the assigned calendar again if applicable.

Add calendar days

Add manual calendar days. These calendar days are then marked as “booked”.

Enter an appropriate title like “Home office” and select the favored date for the starts and ends at time. Also enter the corresponding time. If you set the check Send iCal and click the button Save, the (individual) notification “Calendar booking for material” will be sent, which is configured in the Client wizard.

Finally, click the button Add. If required you can remove this calendar entry via clicking the Recycle bin.

To create a new calendar, choose Resources → Calendar → New calendar. Further information you find under Calendar.

Time zone

Time difference
Indicate the time difference for the location. UTC = Coordinated Universal Time

Time zone
Indicate the time zone for the location.Certain time zones have diffent rules regarding daylight savings time versus regular time. If you change time zones, the time zone for an event date using this location is not adjusted.

World map
You can also select the time difference by clicking in the corresponding area on the map.
The map size can be changed with the plus and minus button ( plus15 and minus15).


Edit the description of the location via the editor in the following steps:

  1. Select a responsive layout via the button Responsive layouts.
  2. Select if applicable the buttons Text area, Room list, Address or/and Picture gallery.

Note: The old descriptions are still existing. You can edit them via this editor.

Via this button you insert text area per drag and drop. To edit the text area, click in the box and the editor opens.

Via this button you insert a place holder for the room list per drag and drop. Via the preview of the location you see, which room list is inserted.

Via this button you insert a place holder for the address per drag and drop. Via the preview of the location you see which address is inserted.

Via this button you insert a place holder for the picture gallery per drag and drop. Via the preview of the location you see, which picture gallery is inserted.

Via this button you can create responsive layouts.

Via this button you can reset configured pages.

Via this button you can configure regarding JavaScript or/and CSS.


Upload media for describing the location more exactly or displaying it graphically to give a preview to the learner. If you have uploaded multiple images, the image, which is at first position and bordered in colors, will be selected as standard preview image.



To assign a task, first define the location type on the tab Parameters and then click the button Add task template on this tab.

To create a new task template, click first on the button Add a task template and then on the button New task template.

Task templates at the event venue

Task templates

First select a task template.


You can select the following trigger:

  • Event date activation,
  • Changed food requests,
  • Changed overnight stay bookings,
  • Substitute participants,
  • Registrations,
  • Registration cancellations,
  • Advance on the waiting list,
  • Too few participants,
  • Too many participants,
  • Event date initializing or
  • Event date planning.

You define by setting the check box, if the trigger is

  • immediately active or
  • how many hours and days before or after Start of the event date, Registration deadline or Deregistration deadline.

If you have selected the trigger Event date activation, Event date initializing or Event date planning, you cannot define Trigger active from, because these triggers are always immediately active from. Via the trigger Event date initializing and Event date planning the coordinator can create and edit tasks, which are before the Event date activiation.
On trigger Event date activation the task is created as the event date status switches from Initialized to Active.
On trigger Event date initializing the task is created as the event date status switches from Planned to Initialized.
On trigger Event date planning the task is immediately created as the author saves the event date and the event date status is Planned.

If you’ve selected the triggers Changed food requests, Changed overnight stay bookings, Substitute participants, Registrations, Deregistrations, Advance on the waiting list, Too few participants or Too many participants you can also select before or after closing date for hotel booking. Further information about the Closing date for hotel booking you find under the Event oder Event date wizard.

Who is given the task (task owner)?

Define the responsible person for the task by clicking the appropriate radio button:

  • Coordinator of the event date
  • Owner of the event
  • Main speaker for the event date
  • Selecting an author
    Therefore click on the button Select, select the appropriate author from the list and confirm your selection by clicking the button Select.

Due date

Define the due date of the task in the following format:

  • Hours
  • Days

Additionally you select if the due date of the task should be

  • before the start of the event date, registration deadline or deregistration deadline or
  • after the start of the event date, registration deadline or deregistration deadline

Via the button Delete you can delete the task template assignment.

Support of the following API functions by Avendoo®

VC systemCreate meeting (Add all participants)Change meetingRemove meetingAdd participantRemove participantAdd main speakerRemove main speakerRecord attendanceSince Avendoo® version
GoToWebinarx(x)xxxxx (ab 17.43)16.23
GoToWebinar Adminx(x)xxxxxxx17.43
Link inputx(-)xx16.28


Yes, you get an own access link per day of an event date group.

You can show the link via a variable on the detail page of the event. There’s always the current available link shown, this means for that day of the event date group, in which you are.

Yes, conflicts are also shown for virtual locations.

Yes, you’re planning the time zone like in face to face locations. This is important for the time for sending mails, the access to the link eccetera.

This is the Avendoo® user (author, user or team leader), who has created the event date.