Salesforce Activities – What You Need to Know [Tech Tips]
While helping with the Salesforce Foundation office hours a few weeks ago, I was asked an excellent question. Someone asked if there was any place where they could find all the limitations/gotchas on Salesforce Activity records (i.e., Tasks and Events). While I had a few answers, I knew there must be more, and I realized I had never seen a single location describe all of them. I’ve collected all the major ones I could find from friends in the Salesforce Community, both nonprofit and for-profit. This includes fellow MVPs as well as gracious persons in the Power of Us HUB. Of course, you could scan through the Ideas site as well, but I think these are the ones that affect people the most and I’ve heard of more than once.
Salesforce Activities are special
Activities consist of Tasks (i.e., to-dos) and Events (i.e., meetings). When you go to edit them in Setup to view fields, they are subdivided into Task Fields and Event Fields. But then if you want to add a custom field, it is under Activity Custom Fields. Not the most intuitive. Basically Tasks and Events function like record types for Activities, except they are not set up as Record Types.
Salesforce Activities more than a year old are automatically archived and not reportable.
Want to report and compare last year’s tasks to this year’s? No such luck. Any task more than one year old is automatically archived. You can view them in data exports, by clicking View All on the Activities related list on a record, or in Advanced Search, but they will not show up in reports, default list views, or default search results. You can get the one-year timeframe extended to three years by contacting Salesforce support directly, but this limit is designed to speed up your database’s performance, so proceed with caution.
You can’t create custom lookup fields on Salesforce Activities.
Now in pilot; info here.
Until recently, you couldn’t create a custom lookup field on Activities to track relationships to other objects beyond the standard fields that link to Contacts (WHO) and the other object of your choosing (WHAT). Perhaps you want to track Activities on an Account also in relation to a particular Campaign, or one Activity in relation to two different Contacts in two roles? This one is actually a great example of the power of the IdeaExchange — Salesforce’s Product Managers are listening! After receiving more than 17,000 votes, this feature is now in Pilot, meaning you can sign up with your AE to get a sneak-peek feature that may not be fully polished and ready for prime time quite yet. While Salesforce is under no obligation to finish developing the feature and release it widely, you can generally expect to see Pilot features in a wide release fairly soon (safe harbor!)..
You can’t create a workflow email alert from an Activity.
This one is under consideration, but to date, you can’t send an email alert from a workflow rule on an Activity. Want to remind someone about an upcoming Event they’re assigned to? Want to alert a manager when a team member’s key Tasks are completed? Sorry about that. Not quite yet.
Salesforce Activities are not truly private, even if you set the Organization-Wide Default to Private.
I’ve experienced this use case first hand, and it can be frustrating. I was working with a nonprofit who had generally open access for Accounts and Contacts, so that people could see which donors were in the system and not create duplicates if they were unable to find them. However, some high-level donors (those who give $1 million+ per year) needed a bit of additional security and privacy. The Activities were where major gift officers would keep notes on meetings they had with these individuals and did not want that information to be visible to all 300+ users at the organization. The OWD was set to private, but it still inherited the open sharing model of the Account, making the Activity read-only. As a workaround, we had to create a custom object which was private, and attach Activities to that. Not an optimal solution!
Tasks cannot be assigned to a Queue.
I distinctly remember running into this one back in 2009 and having my very first, “Seriously? I can’t do that?” moment. I wanted to create a followup phone call task and assign it to my entire team as a queue so whoever had a chance to make the call first could “claim” the task and complete it. Sounds easy, right? Folks often think “Group Tasks” solve this one, but they don’t — they create copies of the task for each group member, which is an entirely different use case (i.e., “Everybody please go do X individually,” not “One of you please go do X, then the rest of you are off the hook.”). I did manage a workaround whereby I repurposed an unused granted license (it was a small org!) as a “queue” user, assigned the tasks to it, and then team members could claim tasks by reassigning that fake user’s tasks to themselves. This was definitely not an ideal solution, and certainly would not be free for most orgs. More than 12,000 votes have been cast for this one; my fingers are still crossed that it will be in a future release!
The Activity “Subject” field is strange hybrid of picklist and text.
The Activity Subject field is a “combo box”, best described as a picklist field that looks like a lookup field and behaves like a text field. Confused yet? Yeah. There are a two primary ways of working with this field — you can either ignore its picklist-ness, let people type whatever subject they want, and just not worry about it, though you lose some reporting granularity there, or you can write a Validation Rule to enforce the picklist-ness and lose the option of free-text for your users. It’s not a huge issue, but can be confusing to your users as they get used to the system.
There is no task tab out of the box.
Many times I have had people ask me where the Task tab is in Salesforce. There isn’t one! Activities are a special kind of object and as such, do not have their own tab. However, you can get one by using the Basati Activities Tab, found here on the AppExchange.
Workflow Generated Tasks can be related to a Contact or another object but not both.
Activity records have a lot of special features, because they can have a “WHO” (Contact) and a “WHAT” (pretty much any object). Because of this special status as an object which can be related to both a Contact and another object (the WHAT), when creating workflow rule tasks, you can only relate the task to either the WHO or the WHAT, but not both. This can be a little frustrating if you want to assign both the Contact and the other object as part of the Workflow Rule. Of course, you can do this with Flow, my favorite Salesforce tool, but not with the standard Workflow engine.
Records lock when importing or updating Activity records en masse.
You may not come across this often, but when you do, it is really important to know! Directly from this blog post: “when a task is inserted or updated, the associated Who, What, and Account records will get locked. However, on insert, the locks only occur if the task status is Completed and the task activity date is not null. On update and delete, the locks occur regardless of the task status or activity date values.” In other words, if you are doing mass data loads of Activity records, you could be locking their associated records (Contact, Opportunities, Accounts, etc) while the data load is going on. Doesn’t happen every day but definitely important to know.
You cannot add Notes or Attachments to Activities.
I haven’t really come across a use case for this one, but it’s not possible anyway! If you want to add a related Notes/Attachments list to your Task, you cannot. That wouldn’t really seem to be so much of an issue for me if it were not for the next one…
You cannot add custom fields that are long text area (new one) or rich text.
You can definitely add custom fields to an Activity, but you are limited in what types are available to you. It is not possible to add custom fields that are long text area or rich text. The Comments field on a Task is up to 32000 characters, so that might not be an issue. But if you want to add a rich text field so you could have an image, that is not possible.
Do you have more to add? Please add them in the comments!