Now you can conveniently log your time right in Slack, without having to log into Salesforce. And your timesheets will appear automagically in Salesforce, immediately. Making this happen is a somewhat involved process, given that you're working with two Enterprise-class apps (Salesforce and Slack - umm, three actually, including PK4 TimeTracker). Here's what you need to do:
- Install PK4 TimeTracker in your Slack workspace. Head over to the Slack App Directory listing here - or to the PK4 TimeTracker listing here. Click on the Add to Slack button, follow the instructions, install the app into your workspace. You will need to select an existing Slack Channel that PK4TT can write to, so you may want to set one up just for those conversations. Of course, all your users can use PK4TT in Slack (as long as they have a valid license) - the selected channel is for PK4TT to send messages on its own, for specific events within Salesforce. Once installed, you'll see messages somewhat like this, sent to you (the installer) specifically.
- Set up your Slack Team in Salesforce. Using the Config page for the relevant app-key within Salesforce, link your team ID with that app-key (the Team ID is right there in the message you got on install). Remember that the configurations of that App Key will apply to all the users in your Slack team. (Here's more information about what an app-key is.) When you key in your Team ID into Salesforce, you will receive, in Slack, a one-time PIN (OTP) that you need to key into Salesforce to confirm linkage. Here's what that could look like in Slack.
- Set up your user info for Salesforce. Each of your Slack users who needs to work with PK4TT needs a license set up within Salesforce. Setting up that license involves two steps - create a TT User and then set up a PK4 License record for that user. To help make things a little easier, PK4TT generates two CSV files for you when you install it in Slack (see screenshot). The files are formatted for import into Salesforce. Open them up in EXCEL, Google Sheets, your favourite editor, whatever. Change them if needed, then import them. Some things to keep in mind:
- In the auto-generated TT User file:
- Every user is set to be of the User Type "Personal User". This means the user is expected to clock in, then check in with Slack. If you'd like them to only check in and not worry about clocking in, change each such user to being an "Individual User".
- Some users may be missing email IDs, etc. The email ID is critical to working well - we suggest you fill that out for every user who needs to use PK4TT in Slack.
- In the auto-generated PK4 Licenses file:
- The column License for TT User has the same name as the Name column in the TT User file, so importing the second file after the first becomes simple. Except if you have two users with identical full names - you need to change the names in both files in some acceptable manner.
- The External ID column has each user's Slack User ID. This is critical for everything to work OK for each user.
- The Assigned On and License Valid From are set to the date of installation in Slack and License Valid Thru is set to a year from that date. Change that if needed, before import.
- The IGNORETHISCOLUMNINIMPORT column carries the user's email ID, from Slack. Use this in case you want to map the Licenses data to its equivalent Users data. A VLOOKUP should work.
- Import the data into Salesforce. Use the Salesforce Data Import Wizard to get this data into the TT Users object, then into the PK4 Licenses object. Here are instructions for importing data in Salesforce (you may need to log into Salesforce Trailhead to get to that page).
- When you import data into Salesforce, you can turn off all triggers that run on the import object. Unfortunately, if you do that when importing data into the PK4 Licenses object, the licenses that you import for your users will not work. There's a trigger on the PK4 Licenses object that absolutely needs to run for your users to be able to use PK4 TimeTracker in Slack. If you absolutely need to turn off the triggers on the PK4 Licenses object (because, maybe, you're importing hundreds of Slack users at a time?), send us an email at firstname.lastname@example.org and we'll help you along.
That's it! Your users are off and running now!
Some indicators that things are NOT all that hunky-dory:
- Users see "install-data not found for org <whatever>". This means you've not installed PK4 TimeTracker in Salesforce at all.
- Users see "Slack integration info not found:...". This is because Step 2 didn't happen correctly. If this message comes up even after you did Step 2, get in touch with us.
- A user sees "Sorry, PK4 TimeTracker User or License not found for Slack user ID <whatever>". This is because Step 4's import into the PK4 Licenses object did not happen/happen correctly. You can either import the data or manually add users to the PK4 Licenses object from within Salesforce. Maybe the External ID is not valid?
There are a few other error messages you may see, but they are (in our opinion) self-explanatory. Tell us if they are not!