The CD Service User is set up with the (GMT) Coordinated Universal Time - 0 and the webinar on GoToWebinar is set for CST. However when the event is created in CRM, the start time is set using a CST value, but is being stored as GMT Coordinated Universal Time - 0.
For example. The webinar is set for 3PM CST in GoToWebinar, in CRM it is being set to 3PM Coordinated Universal Time - 0, causing the display for a CRM user set to use CST to see an event at 10:00am.
We are pulling these events into a calendar on our website and this issue causes us to have to be the correct time. We can fudge it by adding 5 hours with a CRM workflow, or hardcoding a fix in our website to transform it on request. The other option is to force the person creating the webinar to set up webinars using the GMT 0 timezone in GoToWebinar, but then the GTW signup page displays the GMT time by default. I'm okay doing one of these workarounds for the short time being, unless there is a fix, and if/when there is I need to know about it so my workaround can be turned off. I could change the CD Service User to CST and the time then gets created the correctly, but then all the other GMT dependencies in CD break so thats not really an option.
Also the Scheduled End Time & Scheduled Duration does not come into CRM... which I don't currently have a good solution for.
All of these things are returned by the GoToWebinar API https://developer.citrixonline.com/content/gotowebinar-api-reference#!/Webinars/getAllWebinars and time are returned in ZULU/GMT, so here is my theory on what is happening on the CD side.
------
I think what is happening is that CD is retrieving the Webinar from GoToWebinar and is receiving the times AND the time zone string, then thinking the time value is formatted in the time zone noted in the time zone string, is perhaps performing an unnecessary conversion of the time to GMT from the time zone.
-----
Here is what the GoToWebinar API "GET /organizers/{organizerKey}/webinars \ Get all webinars" method returns.
[
{
"numberOfRegistrants": 0,
"times": [
{
"startTime": "2015-05-20T18:49:49.544Z",
"endTime": "2015-05-20T18:49:49.544Z"
}
],
"description": "string",
"subject": "string",
"inSession": true,
"organizerKey": 0,
"webinarKey": 0,
"timeZone": "string",
"registrationUrl": "string"
}
]