JetTrac PushToGoogleCalendar

Introduction:

Can automatically add Google Calendar events when scheduling or rescheduling appointments.

Technical Support:

If you need assistance in installing and configuring JetTrac PushToGoogleCalendar™, call Pro Technology Automation, Inc. at 805-527-1248 or email us at support@protechinc.com. Please note that the JetTrac PushToGoogleCalendar™ license fee does not cover configuration services and technical support so there may be an additional charge. Please ensure you read these instructions carefully before calling for technical support.

How to Run JetTrac PushToGoogleCalendar:

To run JetTrac PushToGoogleCalendar, you will need these files in the same folder:

  • JTPushToGoogleCalendar.exe
  • ExitHandler.dll

Executable files and dll files should not be edited for any reason.

All google modules need to be authorized to be allowed to run. To do this, make sure you are logged into the proper google account you want JetTrac to access, then run the Google Modules Authorization .bat file. It will ask you to log in and allow access to JetTrac to use the account. This only needs to be done once as the file will authorize all google modules.

Default Functionality:

Server-side creation of calendar events in Google Calendar as part of a business process

Job Step Configuration Window in JobConfig for JetTrac PushToGoogleCalendar:

When setting up a job step using JTPushToGoogleCalendar in JobConfig the only line of the config you need to worry about is the first, the Config file. This field should be filled with the fully qualified path to the Config file for JTPushToGoogleCalendar. 
Eg: C:\JetTrac\…\config.ini
In JobConfig, file paths entered should not be in quotes.

As with all modules, there is a dropdown to select whether or not the job should stop completely if this step fails. If you select Yes, any error will terminate the job process and write to the log file what happened, if no, then the job will try to continue anyways. However if any steps further down the line rely on the output of a job set to not stop on error, they may not work properly.

For more specifics go to the JetTrac Field ServiceJobConfig page.

JTPushToGoogleCalendar Command Line:

“C:\JTPushToGoogleCalendar.exe” “C:\Input.xml” “C:\config.ini” “C:\JTPushToGoogleCalendar.log”

The command line starts with the executable file for this module, followed by the input XML file, the configuration.ini file, and ends with the log file. Each part of the command line is the fully qualified path to the file, in quotes, separated by a space (it doesn’t matter how many)

JTPushToGoogleCalendar Configuration.ini:

 

  1. ALL VALUES MAY BE DELARED LITERALLY BY WRAPPING IN DOUBLE QUOTES OR CALLED FROM XML BY USING THE FIELDNAME

#
# CalendarID

  1. – ID string of the calendar to insert the event into
  2. – The full calendar ID is YOURIDHERE@group.calendar.google.com
  3. – Program will accept ID only or full string with @group.calendar.google.com
  4. EventStart
  5. – Date and time of event start.
  6. – Date and time may be provided at the same time or separately.
  7. – If date and time are provided separately they must be pipe delimited
  8. – If date and time are provided separately the order must be Date|Time
  9. – Will attempt to parse any format.
  10. – Any format but recommended format is not guaranteed to give you the right date and time.
  11. – If a date only is supplied the time will be set at 00:00:00 (midnight)
  12. – Recommended format is “YYYY-MM-DDTHH:MM:SS”. Note: The “T” is a static character that delimits the date from the time.
  13. EventEnd
  14. – Date and time of event start.
  15. – Date and time may be provided at the same time or separately.
  16. – If date and time are provided separately they must be pipe delimited
  17. – If date and time are provided separately the order must be Date|Time
  18. – Will attempt to parse any format.
  19. – Any format but recommended format is not guaranteed to give you the right date and time.
  20. – If a date only is supplied the time will be set at 00:00:00 (midnight)
  21. – Recommended format is “YYYY-MM-DDTHH:MM:SS”. Note: The “T” is a static character that delimits the date from the time.
  22. – Optional. If not present the default will be 60 minutes from EventStart
  23. Duration
  24. – Optional. If present will override EventEnd.
  25. – Must be the numerical duration in number of minutes.
  26. – Only numbers allowed. All other characters will be stripped.
  27. EventTitle
  28. – Title string of the event title
  29. EventDescription
  30. – String of the event description. If you are using a static string you can’t use new-lines because of limitations in the config file format.
  31. EventLocation
  32. – String of the event location.
  33. EventAttendees
  34. – String of pipe delimited email addresses
  35. EventReminders
  36. – String of pipe delimited reminders
  37. – Method>Minutes|Method>Minutes|…
  38. * Method can be “email”, “sms”, or “popup”.
  39. * “sms” only works for Google Apps for Work, Education, and Government customers. Requests to set SMS reminders for other account types are ignored.
  40. * Example: EventReminders=”Default
  41. * Example: EventReminders=”email”>60|”email”>30|”popup”>10

CalendarID=”primary”

#EventStart=startDate|startTime

#EventEnd=endDate|endTime

EventStart=startDate

EventEnd=endDate

#Duration=”60″

EventTitle=”Test Title”

EventDescription=”Test Description”

EventLocation=”Test Location”

EventAttendees=”user@gmail.com”

EventReminders=”email”>”60″|”popup”>”30″

 

 

Additional Notes:

Authorizing Google Calendar Modules:

As with all of our Google integration modules, in order for them to run properly there must be an authorization token on the server connected to the Google Account used by the modules. In addition only a single google account can be authorized on a server. Due to this, in situations where multiple Google Calendars are being pushed to or pulled from, we need to set up access by sharing the calendars across accounts. For example, if you have a calendar on a separate Google Account than the one authorized on the server, you can still pull data from this calendar as long as you go into the calendar settings and share it with the account that is authorized. To access settings and sharing hover over the calendar name on the left and click the three vertical dots that display and choose settings and sharing.

 

Pushing to Multiple Calendars:

One of the primary ways JTPushToGoogleCalendar is used is to push events to individual calendars for technicians in the field or to customers as a reminder of their scheduled inspection. A confusing aspect of the module is that as only a single Google Account can be authorized, so how can this module push to calendars owned by other accounts? Do we have to share all accounts we are pushing to with the main account? Sharing might be possible with technicians, but it seems unlikely that a customer would approve of sharing their calendar.

Because of this issue, the JTPushToGoogleCalendar uses a round-about method to push event invites to the specific technician and/or customer. When the module runs, you specify a “master google calendar”. This calendar needs to be owned by the main authorized account. Then, within each event we push to this main calendar there is a field labeled Attendees. This field can contain one or more additional email addresses (as per above this is where you would have the customer or technician email address). The module will then run and create a new event and push it to the main calendar. When an event is created, Google Calendar automatically sends an invitation to all Attendees to add this event to their calendar. Due to the fact that all the module is doing is pushing to a single calendar and it is actually Google Calendar itself sending the invites to the Attendees, this circumvents the issue with only being able to authorize a single Google Account. If the Attendee is using a Gmail account, a setting within Gmail will actually automatically accept any events sent in this way and add them to their calendar.