Integration

Install the OnTime Application in your Salesforce org and set the security permissions you desire. It is recommended you restrict access to users similarly to how they would be restricted in your ontime org as well. From your Salesforce org:

  • Navigate to Setup -> Security Controls -> Remote Site Settings, and proceed to click New Remote Site button.
  • For the Remote Site Name put OnTime or any other name of your preference, and set the Remote Site URL to https://<yourontimeinstance>.ontimenow.com.
  • If you wish to make use of the chatter features included in the OnTime package you must also setup an endpoint for your Salesforce Org. Create a second endpoint with a Remote Site URL of https://<yoursalesforceinstance>.salesforce.com and make sure that it is set to active.

OnTime-guide-img_01

Configuration

The following section describes how to configure the OnTime Connector to connect with your OnTime OnDemand instance.

  • For instructions on how to configure the OnTime Connector to connect with your
    OnTime OnPremise instance skip to the next section.

OnDemand

  • Next, select the OnTime app from the upper right and go to the OnTime Connector Configuration tab. From there, click the Edit button. Now you will need to fill in the required fields.
  • For the OnTime Account Name put the subdomain where you access OnTime from. For example, if your OnTime OnDemand endpoint URL is https://ontimeacctname.ontimenow.com you would enter “ontimeacctname” in the Account Name
  • For OnDemand integration, the connector will automatically set the OnTime Host Domain field.  NOTE:  Do not enter a value in this field for OnDemand integrations.
  • The redirect URL is https://riptideot.<yoursalesforceinstance>.visual.force.com/apex/OnTimeConfig
  • The Client Id and Client Secret are gotten from the OnTime API Settings within the OnTime application itself
  • The Scope can be set to either read, write, or read write. That value will be chosen by the users based on their needs.
  • The Report Errors to Riptide checkbox can be checked to send errors to the Riptide Support team to assist in solving any issues.

 

Config_Tab_Capture_20140611

OnPremise

  • Next, select the OnTime app from the upper right and go to the OnTime Connector Configuration tab. From there, click the Edit button. Now you will need to fill in the required fields.
  • For the OnTime Account Name put the subdomain for the endpoint you access OnTime from.  For example, if your OnPremise endpoint is https://ontimeacctname.yourdomain.com/ontime you would enter “ontimeacctname” in the Account name field.
  • For the OnTime Account Host Domain for you OnTime OnPremise installation.  For example if your OnPremise endpoint is https://ontimeacctname.yourdomain.com/ontime you would enter “yourdomain.com/ontime” in the Host Domain field.
  • The redirect URL is https://riptideot.<yoursalesforceinstance>.visual.force.com/apex/OnTimeConfig
  • The Client Id and Client Secret are gotten from the OnTime API Settings within the OnTime application itself
  • The Scope can be set to either read, write, or read write. That value will be chosen by the users based on their needs.
  • The Report Errors to Riptide checkbox can be checked to send errors to the Riptide Support team to assist in solving any issues.

OnTime-guide-img_02b_2

OnTime OnPremise Setup Tips:
  1. The OnPremise Ontime server should have a valid SSL certificate installed for IIS. When you browse to https://yourontimeserver.company.com,  the browser should not give any errors or dialogs, and the lock in the URL bar must be green.
  2. The OnPremise OnTime server needs to be accessible from outside your network. This means that at least port 443 needs to point to yourontimeserver.company.com.
  • Depending on your firewall, you need to set up an access rule and network address translation so that one of your public IP addresses at port 443 is translated to the internal (private) IP address and port of your OnTme server.
  • If you have only one single public IP address, and port 443 is already in use, select another port and translate that to port 443 of your internal (private) IP address of the OnTime server. Make sure you append “:<portnumber>” to your endpoint URL in both the Account Host Domain field and in the Remote Site Setting URL.
  • The external DNS A record for yourontimeserver.company.com must point to the same public IP addresses for the OnTime server.

Now click the Save button to save the configuration. Click the Authorize API button to initialize the integration. You will be redirected to a page asking you to login to Ontime and authorize the OnTime Connector app to access your Ontime instance, proceed to click Allow. You can deauthorize this account at anytime by clicking the Disconnect button on the Configuration tab of the OnTime Connector Configuration page.

  • After the authorization process has been completed, click the Edit button again and select the checkboxes next to the entities you would like to sync from OnTime to Salesforce. Keep in mind this only affects which items will be automatically synced. A user can always manually sync any type of item from the Syncing tab.
  • NOTE: When selecting some entities you will notice other entities are automatically checked. This is done because certain entities will not function unless the entities they are related to are also imported. The OnTime Connector app works best when you choose to sync all entities to Salesforce. Click the Save button to save your choices for syncing entities.

OnTime-guide-img_03

The OnTime app comes with chatter features out of the box, and they can all be configured to be turned on or off. In order to configure the chatter features:

  • First, navigate to the Chatter Features tab, there will be four checkboxes available.
  • Next, click the Edit button and select the checkbox next to the label for each feature you wish to enable.

OnTime-guide-img_04

  • Finally, click the Save button on the page when you are ready to save your choices. More details on the functionality of each chatter feature can be found in the chatter section of this guide as well as additional setup steps.

It is time to sync your information into Salesforce from Ontime. You can click the Sync with OnTime button at the top of the Syncing tab to sync all of the entities you previously checked into Salesforce. (NOTE: Most entities are imported asynchronously in batch jobs and will not import immediately after starting the sync). You can also click the individual entity Sync Buttons from the Syncing tab, that will allow you to sync just that entity at a time (NOTE: Some entities depend on other entities to import, in those cases starting the sync jobs out of order will cause failures to import. To avoid this, simply start the syncs again in the correct order. The importing order typically is Workflows -> Picklists -> Customers -> Resources -> Projects -> Releases -> Tickets -> Worklogs depending on which entities you are not syncing)

OnTime-guide-img_05

The Scheduled Sync Batch runs on a schedule as frequently as once an hour. This can be configured:

  • Select your Preferred Start Time, Frequency, and potentially the Starting Day (based on what is picked for Frequency).
  • Then click the Save Sync Job on the Syncing tab of the OnTime Configuration page. A confirmation of starting the scheduled job will not be immediately available, you will have to navigate away from the OnTime Configuration page and back to it in order to see the Cancel Current Job button (which means the Scheduled job was successfully created).
  • NOTE: Selecting a new Preferred Start Time and/or Frequency and clicking the Save Sync Job button will stop any previously Scheduled Sync Job and start a new one with the newly selected frequency.

To cancel a Scheduled Sync Job that has been started previously:

  • Navigate to the OnTime Connector Configuration tab and then to the Syncing Tab. Click on the Cancel Current Job button within the Schedule Sync Batch subsection of the Syncing tab.

Customer

In order to create a Customer in Salesforce go to the Customers tab and click on the New button.

OnTime-guide-img_06-customer

1. Company Name

  • The name of the company.

2. Company URL

  • The URL for the company’s website.

3. Last Synced

  • This field is set automatically by Salesforce when the record is next synced from Ontime.

After filling out the required fields proceed to click the Save button.

Resources

There are two different types of resources (record types): Customer and User.

  • A Customer resource is a contact for a Customer record in OnTime and is linked to the customer(company).
  • The User is an OnTime user account and is not linked to a company. In order to create a Resource in Salesforce go to the Resources tab, and click the New button.
  • NOTES: Currently, users created or updated in Salesforce will NOT sync to OnTime. By default you will have the User record type selected.

Customer Resource Record

OnTime-guide-img_07-resourceEdit

1). Resource Name

  • The name of the resource.

2). First Name

  • The first name of the contact.

3). Last Name

  • The last name of the contact.

4). Status

  • A pick list of statuses: awaiting approval, approved, and rejected.

5). Can Login

  • Does this customer have the ability to login into OntimeNow. The email field must be filled out if the Can Login is checked.

User resource record.

OnTime-guide-img_08-projectEdit

1. Resource Name

  • The name of the resource.

2. First Name

  • The first name of the user.

3. Last Name

  • The last name of the user.

4. Is Active?

  • Activate or Deactivate a user.

5. Is Locked?

  • Is the record locked in OnTimeNow.

6. Use Windows Auth

  • If the user is allowed to use windows installation or not.

7. Windows Id

  • The windows username. This must be filled out if the use windows auth is checked.

8. Login Id

  • The username to login. This must be filled out if the use windows auth is unchecked.

9. Built in Account

  • An account that was built into ontimenow.

Projects

The project is what the team is working on. In order to create a Project in Salesforce go to the Projects tab and click on the New button. Projects can be related to other projects as far as 250 levels deep. NOTE: Features, Defects, Incidents, and Tasks Workflows are set up the same way you would set them up in OnTime.

OnTime-guide-img_09-release edit

1. Start Date

  • The date of the project starts.

2. Due Date

  • The due date of the project.

3. Parent

  • The parent project to the current project.

4. Defects WorkFlow

  • The workflow and steps that the defect tickets in this project will use. Ignored if defects are marked inherited.

5. Features WorkFlow

  • The workflow and steps that the feature tickets in this project will use. Ignored if features are marked inherited.

6. Incidents WorkFlow

  • The workflow and steps that the incident tickets in this project will use. Ignored if tasks are marked inherited.

7. Tasks WorkFlow

  • The workflow and steps that the tasks tickets in this project will use. This field should only be set if you are using Custom Items in your Ontime Instance. Ignored if tasks are marked inherited.

8. Defects Is Inherited

  • Is the defects workflow for this project inherited from the defects workflow of it’s parent project.

9. Features Is Inherited

  • Is the features workflow for this project inherited from the features workflow of it’s parent project.

10. Incidents Is Inherited

  • Is the incidents workflow for this project inherited from the incidents workflow of it’s parent project.

11. Tasks Is Inherited

  • Is the tasks workflow for this project inherited from the tasks workflow of it’s parent project.

12. Primary Project

  • Is this a primary top level project with parent project.

Releases

In order to create a Release in Salesforce go to the Releases tab and click on a New button. A release can be associated to more than one project. Like Resources of type User, Releases created or updated in Salesforce won’t currently sync to OnTime.

OnTime-guide-img_10-newTicket

1. Start Date

  • The start date of the release.

2. End Date

  • The end date of the release.

3. Velocity Start Date

  • The date the sprint/release development starts.

4. Release Notes

  • The release notes for the release.

5. Status

  • The status of the release.

6. Release

  • The parent release to the current release.

7. Release Type

  • The type of release.

8. Primary Release

  • A top level release, typically the top level release for a product or project

Tickets

Tickets are linked to a project and can also be linked to a release. There are four types of tickets that can be created, Features (Product Backlog), Defects, Incidents (Help Desk), and Tasks (Custom Items). Tasks are not enabled by default in OnTime and will only full function with OnTime after they have been enabled in your Ontime Instance. Each ticket type has a different layout based on which fields are available by default for that ticket type in OnTime. The create and update page for tickets is a custom visualforce page and can not be edited by the end user. The Riptide OnTime app does not currently support custom layouts or fields. Below is an example of a creating a Feature type Ticket:

OnTime-guide-img_11-worklog

1. Project

  • The project that this Ticket is in

2. Publicly Viewable

  • Should this ticket be viewable to users in your customer portal

3. Due Date

  • What date does this ticket need to be completed by

4. Assigned To

  • What Resource (Of Type User) is this Ticket Assigned to

5. Priority

  • The priority for completing the ticket, the values for this picklist are taken from Ontime

6. Severity

  • The severity of the impact from this ticket, the values for this picklist are taken from Ontime

7. Status

  • What is the status of the ticket, the values for this picklist are taken from Ontime

8. Workflow Step

  • What is the current workflow step of the ticket, this picklist is based on the Workflow Steps for the Project this ticket is assigned to for the given ticket type. IE. For a features ticket the list is populated with the Workflow Steps for the Workflow on the project in the Features Workflow

9. Start Date

  • The date work began on this ticket

10. Completion Date

  • The date work on this ticket was completed

11. Release

  • What release is this ticket related to

12. Company

  • What Customer is this ticket for (if it is for a Customer)

13. Hours

  • The Hours for the project. The picklist values are taken from Ontime

Work Log

The Work Log is linked to a ticket. A ticket must be created first before creating a work log. It is used for tracking the work being done on a ticket. In order to create a Work Log in Salesforce go to the Ticket tab and click on a ticket name. Look on the ticket page toward the bottom and click on the New Work Log button in the Work Logs section.

OnTime-guide-img_12-chatterNotification

1. Ticket

  • This field will be populated with the ticket you selected.

2. Date Worked

  • The date the work was done on.

3. Work

  • How much time it took to do the work. The first field is the amount of time and the next field is a pick list of time units: minutes, hours, days, weeks, and story points.

4. Worked By

  • Who did the work (Must be a resource of type user).

5. Work Remaining

  • How much time of the remaining estimate is left on the ticket. The first field is the amount of time and the next field is a pick list of time units: minutes, hours, days, weeks, and story points.

Chatter Features

There are four chatter features currently available in the OnTime app. Those features are:

  • The ability to add all chatter communications on a ticket into the notes for that ticket. A hash tagging system that allows users to identify and link to OnTime tickets in any chatter post.
  • Notifications when a ticket has exceeded its estimated hours or a help desk ticket has been assigned.

OnTime-guide-img_13-chatterNotification2

  • When a help desk ticket is either created or assigned the user will be notified with a chatter post. If a help desk ticket is assigned after being created the user will also be notified through chatter.

Note: In order for a chatter post to be made, the User resource the ticket is assigned to must be related to a Salesforce User. This can be done automatically by the Riptide Ontime Connector attempting to match User Resources to a Salesforce User by First Name, Last Name and Email address or it can be done manually by setting a user inside of the resource ticket.

OnTime-guide-img_14-helpDesk

  • A project can also be notified when the actual duration on a ticket exceeds the original estimate. When the actual duration hours exceed the original estimate hours a notification will be posted to the chatter stream for the tickets parent project.

All the chatter conversations on a ticket can also be logged to the ticket and sent to OnTime so anyone viewing the ticket there doesn’t miss part of the conversation. Whenever a text post or comment is made on the Chatter feed for a given ticket that comment is added to the Notes field on the ticket, stamped with the time and the user that posted the comment.

OnTime-guide-img_15-hashtag

There is a also a rich hash tagging system available in the Ontime Connector for linking and posting to Ontime Tickets from anywhere inside of Chatter. These hashtags will post a copy of the message to the relevant ticket in Salesforce as well as a comment with links to all of the tickets represented by hashtags in the hashtagged post.

OnTime-guide-img_16-hastag2

The proper format for hashtagging tickets is #[tickettype]-[ticketnumber]. IE. If we have a Feature (Product Backlog) ticket number 21 you can hash tag that ticket by typing #f-21 or #F-21 in a chatter post. The other ticket types would be access by their respective first letter. #d-21 or #D-21 for Defects, #i-21 or #I-21 for Incidents or #t-21 or #T-21 tickets for Tasks. There is no limit to the number of times you can hashtag a ticket in a post or the number of tickets you can hashtag other than by the size limit of a Chatter post itself and the size of the resulting follow up links post. Do keep in mind that replacing Hashtags with links to the post will increase the size of your post and may make it too long to fit in a single Chatter post. If replacing the hashtags in your post would increase the size of your post over 1000 characters your hashtags will not be replaced. Using chatter @mentions are also not available in posts using the hash tagging system currently.