Always keep Task Due Date 6 months ahead of Latest Note Creation Date

Below is the ideal scenario that I would love to have:
Our sales people meet their clients at least once every 6 months. The user creates a Sales Visit Report (Notes Module) and then a Task would be automatically created to remind the user in 6 months time to see that client again. (This I know how to do through WorkFlow).

I am looking for a way for that 6 month reminder task to always be 6 months after the LATEST Sales Visit Report (Notes Module)

So if user1 visits client1 in January, they will be a task in their calendar for June to see that client again. What if the user visits the client again in March? Then the task reminder should push back to September.

Any advice would be much appreciated.

First of all, I think you’re not using the CRM the way it was designed. You can use “Meetings” and “Calls” as reminders to do something in the future, and as a record of something done in the past. So rather than create a task to visit a client, and then expect the sales rep to create a note indicating that they did see a client, they should just update the “call” or “meeting” to held, and indicate the date and and time they actually met with the client. Then you could have a workflow create a NEW call/meeting six months after this meeting when the status changes from “planned” to “held”.

If you really must use it the way you are using it…

What if you did this with two workflows?

For this example, I’m going to assume your visits are related to “contacts”, not “accounts”, but the same instructions exist either way, just input the right module name.

Step 1: When a new note is logged, a workflow fires that sets a custom field (say last_visit_date_c) equal to the date of the visit. The workflow could even check if the date of the note is greater than or less than the field before updating.

Step 2: Create a new task from a second workflow that fires when “last_visit_date_c” is changed. If instead you want to change the date on the last task, that could be trickier, and I’m not sure how you would accomplish that by workflow.

Thoughts on this approach? I would really recommend the first option, which is to use the CRM the way they are typically used, which is by having the future task (or call or meeting) become the historical log of the task (or call or meeting).

Firstly, Thanks for your reply.

I do believe there may have been some misunderstanding at the hand of my poor explanation of the issue.

When a sales person meets a client, they take notes of what was said and then upload them to the CRM through the Notes module. So I know when my client was last seen given the last time one of my sales people linked a Sales Visit Report (Note) to them.

Basically, I just want a measure in place where my sales people will be reminded if they have not seen a client (created a Sales Visit Report) in 6 months.

Now, whether this be done through the Tasks or Meetings module, I’m not too fussed.

OK, so the problem is, Meetings/Calls/Tasks (which support due dates) don’t support file uploads, and Notes (which support file uploads) don’t support due dates.

Furthermore, there is no good way to know which task to change if you use the regular one to many relationship that exists for tasks.

Here are some options, none of them great, but that might be workarounds. I’m going to assume that a client, in your example, is a contact, and not an account…

Option 1:
[spoiler]
Note: I’m not totally sure if this is possible or not, but it might be…

  1. Create a new one to one relationships between Contacts & Tasks
  2. When a new contact is created, create a Task, link it via the one to one relationship, and set the due date as six months in the future
  3. When a new note is added, modify the due date of this task.
    [/spoiler]

Option 2:
[spoiler]

  1. Create a new custom field in Contacts as a date
  2. When a new contact is created, set this date as six months in the future
  3. When a new note is added, modify the date on the contact
  4. So many days before the date field comes up (or leading up to the date field), send an email to the assigned user indicating it is time to see that client
    [/spoiler]

Option 3:
[spoiler]
This is not easy…

  1. Do some research on how to add a file upload field to Calls or Meetings.
  2. Forget all about notes all together, and have sales reps update the call or meeteing as “held” and attach their notes.
  3. When a call or meeting is marked as “held” create a workflow that creates a new future call or meeting as “planned” six months in the future attached to the appropriate contact.
    [/spoiler]

I will say, in none of these options did I fully try putting this together on my system. Although I do have something similar. Every year we create a task associated with a project. I did this by putting a date field on the project, and when it comes due, I extend that date by a year and create a task due on the date the date field indicated.

I would be happy to think about how to overcome any hurdles you run into trying to attempt any of the above options, or another option you think up…

sieberta