Automate CSV data export
Use regular BMC Remedy workflow objects to create a CSV data file with the previously documented CSV data format
btAny Calendar to Outlook
- Performance Feature
-
The application btAny Calendar to Outlook (btAnyCalendar2OL) enables calendar files (.ICS) to be imported automatically into MS Outlook.
The application is available in two versions:
- Normal application, can be integrated into autostart.
- Windows Service.
- (FREEWARE)
- System requirements
-
Hardware Architecture
Specification
Processor
2x Logical processors
Main memory [GB]
2
Disk space [MB]
10
Software Architecture
Specification
Operating System
Windows 10/11 (x86 & x64)
MS Outlook 2016 (32-bit/64-bit) or higher
Authorization to write in MS Outlook.SDK
Microsoft .NET Framework Version 4.8.1 Redistributable Package
The application btAny Calendar to Outlook (btAnyCalendar2OL) enables calendar files (.ICS) to be imported automatically into MS Outlook.
The application is available in two versions:
- Normal application, can be integrated into autostart.
- Windows Service.
- (FREEWARE)
Hardware Architecture |
Specification |
---|---|
Processor |
2x Logical processors |
Main memory [GB] |
2 |
Disk space [MB] |
10 |
Software Architecture |
Specification |
---|---|
Operating System |
Windows 10/11 (x86 & x64) |
MS Outlook | 2016 (32-bit/64-bit) or higher Authorization to write in MS Outlook. |
SDK |
Microsoft .NET Framework Version 4.8.1 Redistributable Package |
Description
The application is waiting for appointment and task data file(s) to import it into MS Outlook.
Appointment data
The application is waiting for an appointment file like “Export.ics” or a collection of appointment files (*.ics) in a specific folder. If the file is getting in, it grabs the file and creates/update appointments in MS Outlook.
Task data
The application is waiting for an task file like “Export.csv” or a collection of task files (*.csv) in a specific folder. If the file is getting in, it grabs the file and creates/update appointments in MS Outlook.
The application is locally installed and works in the background unattended.
Installation
Install the application in any installation folder, configure and start it.
Appointment data
The ICS file format
The application assumes that the ICS Parameters are between the keywords “BEGIN:VEVENT” and “END:VEVENT”. Parameters outside this keywords are ignored entirely.
Example:
BEGIN:VEVENT
DTSTAMP:20170430T200254Z
DTSTART;TZID=America/Indiana/Indianapolis:20170331T034010
DTEND;TZID=America/Indiana/Indianapolis:20170905T170931
SUMMARY:Deploy
Expense
Reporting
TZID:America/Indiana/Indianapolis
UID:12345
SEQUENCE:0
METHOD:REQUEST
DESCRIPTION:ID:CRQ000000002165\n
END:VEVENT
Supported ICS fields
The following ICS fields are supported by this application:
Field name |
Description |
DTSTAMP |
Field not in use – it is a local timestamp, when the ICS file was exported. |
DTSTART |
Used with time zone option |
DTEND |
Used with time zone option |
SUMMARY |
Used as is |
TZID |
Field not in use –timestamp information, already in DTEND & DTSTART |
UID |
Used as a GUID |
SEQUENCE |
Field not in use |
METHOD |
REQUEST– Creates an appointment |
DESCRIPTION |
Used as is |
Working method – create/update appointments
The UID will be used from ICS file to create a data record in OL and is used as a GUID. The GUID is stored in the “Billinginformation” field. By reimporting the ICS data, the same data are updated in OL.
- Start application (manually or by “Startup”)
- Export ICS file and store in in the specified location.
- After a while – 5 seconds typically – the application grabs the ICS file for data import.
- The data are imported into OL into the specified OL folder.
- The ICS will be deleted at the end, then the application waits for a next ICS file
- In case a new ICS will be provided, the application start with step “3.”
- Exit the application if required.
One of the two methods “REQUEST” or “PUBLISH” creates an appointment.
Working method – delete appointments
The working method is like as documented in chapter ”Working method – create/update appointments”.
The method of “CANCEL” deletes an appointment.
Language support
The “Internet Calendaring and Scheduling Core Object Specification” (iCalendar) supports all languages.
Task data
The CSV file format
The application assumes that the CSV data are created like a standard Outlook export process would do.
If so, the data looks as shown in the below figure:
The entire CSV data format is specified as follows:
"Subject","Start Date","Due Date","Reminder On/Off","Reminder Date","Reminder Time","Date Completed","% Complete","Total Work","Actual Work","Billing Information","Categories","Companies","Contacts","Mileage","Notes","Priority","Private","Role","Schedule+ Priority","Sensitivity","Status","MarkedAsDeleted"
The data must be real comma separated, no other separation character is currently supported.
Supported CSV fields
The following CSV fields are supported by this application:
Field name |
Description |
Subject |
Used as is |
Start Date |
Used as is |
Due Date |
Used as is |
Reminder Set |
Used as is |
Reminder Time |
Used as is |
Reminder Time |
Used as is |
Categories |
Used as is |
Body |
Used as is |
CreationTime |
Used as is |
Owner |
Set to ITSM |
MarkedAsDeleted |
Extra attribute provided by ITSM to delete a task in Outlook |
Working method – create/update tasks
The CSV data owns no UID and therefore the application creates an own kind of GUID build by the attribute value concatenation of "Subject" and "Start Date". The GUID is stored in the “Billinginformation” field. By reimporting the CSV data, the same data are updated in OL.
- Start application (manually or by “Startup”)
- Export CSV file and store in in the specified location.
- After a while – 5 seconds typically – the application grabs the CSV file for data import.
- The data are imported into OL into the specified OL folder.
- The CSV will be deleted at the end, then the application waits for a next CSV file
- In case a new CSV will be provided, the application start with step “3.”
- Exit the application if required.
The application will create or update a task.
Working method – delete appointments
The working method is like as documented in chapter ”Working method – create/update appointments”.
Deleting a task is controlled by the attribute “MarkedAsDeleted”. A value of “Yes” or “Ja” will delete the corresponding task in Outlook. Furthermore the attribute value for “MarkedAsDeleted” will not be saved in Outlook.
Automate CSV data export
Use regular BMC Remedy workflow objects to create a CSV data file with the previously documented CSV data format
Language support
Tasks are exported in CSV data format from Outlook application. No other export formats are available and therefore only English and German language are supported for the data import into Outlook.
INI File configuration
The configuration file supports the following functions:
Key name |
Value |
Description |
[General] |
||
Interval |
5000 |
How often the toll checks for ICS files. |
StartHidden |
True |
True ≙ Start application in hidden
mode |
StartRightAfter |
True |
True ≙ Start timer right after application
start |
ServiceCheckInterval |
5000 |
Service is checked every 5 seconds |
ServiceStatusCheckInterval |
5000 |
Service status is checked every 5 seconds, whether it is still
running. |
RestartService |
True |
In case the Service goes down it will be restarted automatically by setting the value to “True” |
ServicePendingCount |
10 |
It delays the process cycle to start or shutdown the service. |
TempFolder |
For future release | |
[Outlook] |
||
OL_Username |
<username> |
Username form OL profile. The default is “Outlook” |
OL_Password |
<password> |
Password form OL profile |
OL_TimeZone |
Europe/Berlin |
The default time zone from local desktop PC |
OL_Export_ics |
Export.ics |
Filter for the exported OL filename(s) the application is checking |
OL_Export_csv |
Export.csv |
Filter for the exported OL filename(s) the application is checking |
OL_RoundUpMinutes |
True |
True ≙ The application rounds up time value to next full
digit value |
OL_Store |
0 |
For future release |
OL_StoreFilePath |
App.Path\\DBS\\ |
For future release |
;Calendar |
||
OL_MainCalendar |
1 |
If value is set to “0” no main folder will be created. A value of “1” creates a main folder mailbox folder. |
OL_MainCalendarName |
ITSM |
Name of the main folder |
OL_SubCalendar |
1 |
If value is set to “0” no sub folder will be created. The folder will be created underneath the main “Calendar” if the value is set “OL_MainCalendar=0”. A value of “OL_MainCalendar=1” creates a sub folder underneath the newly created own main folder. |
OL_SubCalendarName |
ChangeCalendar |
Name of the sub folder |
OL_CategoryCalendar |
ChangeCalendar |
Name of one OL Category. It is used in case the ICS file doesn’t provide such name. |
OL_PrefixFilenameCalendar |
CAL_ |
Specifies the prefix to be used for an exported data file. |
;Task |
||
OL_MainTask |
1 |
If value is set to “0” no main folder will be created. A value of “1” creates a main folder mailbox folder. |
OL_MainTaskName |
ITSM |
Name of the main folder |
OL_SubTask |
1 |
If value is set to “0” no sub folder will be created. The folder will be created underneath the main “Calendar” if the value is set “OL_MainCalendar=0”. A value of “OL_MainCalendar=1” creates a sub folder underneath the newly created own main folder. |
OL_SubTaskName |
ChangeCalendar |
Name of the sub folder |
OL_CategoryTask |
ChangeCalendar |
Name of one OL Category. It is used in case the ICS file doesn’t provide such name. |
OL_PrefixFilenameTask |
TSK_ |
Specifies the prefix to be used for an exported data file. |
[AppsFolder2Check] |
||
AppsFolder2Check1 |
App.Path\tmp\ics |
The folder where the exported file will be stored by the ITSM export
function. |
AppsFolder2Check2 |
App.Path\tmp\csv |
The folder where the exported file will be stored by the ITSM export
function. |
Specials
The keyword of “App.Path” represents the installation folder. By using this keyword in the appropriate folder keywords the application will replace the keyword by the installation value by default. Alternative also a physical folder path may be used instead of “App.Path”.
Example:
Folder keyword: App.Path\tmp
Real folder: c:\MyInstallationFolder\tmp
The former example expects the OL file in the following folder path:
The data are stored in the following OL calendar path:
In this example the data were stored in a dedicated calendar path, because the default “Calendar” name did not provide permissions to write into this entry point.
The application resides in the taskbar if minimized started. Double clicking on the calendar icon will open the main window.
The Main window:
- (1) Hide the application
- (2) Clear log window
- (3) Start application timer – start OL export file checking
- (4) Stop application timer – stop OL export file checking
- (5) Exit application
FAQ
Q: An Outlook security warning window appears on the screen.
A: This error message should preferably not appear, because this application uses a SNMP connectivity. By experience this error is related to missing user permissions OR not well configured anti-virus application. In example if the “On-demand” scan is disabled in McAfee this error is enforced.