Link to home
Start Free TrialLog in
Avatar of netadminsge
netadminsge

asked on

How can I automatically send email reminders to attendees of a meeting I create?

I'm trying to setup a meeting were I invite an external customer. No problems so far. I then would like Outlook to automatically send an email to this invited user to remind them of the appointment a day or two before the appointment. Does anyone know of a product or add-in for Outlook 2007 that can do this?

It needs to be done unattended (as in no security pop ups) and be simple enough for a normal user to use.
Avatar of dfxdeimos
dfxdeimos
Flag of United States of America image

Avatar of netadminsge
netadminsge

ASKER

Yes I looked at that - it's very close to what I'm trying to do.  Have you used this program before?

It looks like you have to manually add in the address for each appointment. I'm trying to automate this task by using the same email as the invited attendee. Also from the very limited documentation that is provided without buying the product it seems like the message sent is not customisable.

Perhaps explaining what I'm trying to do would be more helpful.

One of my users want to use Outlook to create appointments for their customers. They would then like a SMS message automatically sent to the the customers to remind them of that appointment. I've set them up with an Email-to-SMS service so I just need to figure out how to get Outlook to send the emails.

The user who is taking the apointments is a retail sales person so isn't very computer savy or time rich to do anything manually.
Using another applicaiton other then Outlook may be an option too.





 
Hmmm, I haven't used the program specifically before but it seemed close to what you were looking for.

I am not familiar with anything else out there, but I found a summary of a plugin pack that may have some related items here ( http://www.office-addins.com/-outlook-addins/mapilab-toolbox.html ).
Thanks for the link - I hadn't looked at that and there is a free trial. I will give it a shot and let you know.
Mapilab-toolbox was nice but can't do anything close to what I am trying to do.

I need something that can specify an email address per appointment/meeting.

Most apps like the ones you suggest send to same email for every appointment reminder.

Avatar of David Lee
Hi, netadminsge.
This can be done with a fairly simple bit of scripting.  What do you mean when you say "unattended"?  Does that mean you need this to run from the server, as in the user doesn't have to be there at all, or that the user doesn't need to take any conscious action?
Hi BlueDevilFan,

Thanks for your time. Scripting maybe an option. We are using Exchange 2007 server with Outlook 2007 as the client if that helps.

I mean unattended in the fact that the user dosn't want to do anything other then setup the appointment in the normal Outlook way.

I also mean it can't have pop-up security warning that will pop up when an external program tries to send an email as more often then not, the user will not be there to click OK.

It would be good to have it even when the user is not present at all by having a script run from the server. I'm sure they will expect the emails to go out even if the computer is turned off.

I'm not much of a coder so any help in that direction would be appreciated.
This can be done at either the server or the client.  If you want to do it at the client, then I can help.  I'm not prepared to anything that runs at the server.  Server-side scripts are more difficult and dangerous to write and use.  A client-side script with a bug only impacts one client.  A Server-side script with a bug can bring the entire server down.  If your business requirement is for a server based solution, then I strongly recommend a commercial product.  A client solution would not require the user to do anything other than launch Outlook and leave it open and running.  Outlook 2007's security model differs from previous versions in that applications and scripts can send without causing the pop-up warning.  
Ok I understand. What did you have in mind for a client side solution?

I've been looking into writing some sort of application in java that can interface with the MS Web Mail API.
The idea being to read the users appointments and use java logic to send the email. I'm not developer so I doubt I can get this solution to work within the time frame I have to work with.

Hopefully your idea is a lot simplier and quicker?
The absolutely simplest solution is to write a bit of VBScript code and set it to run via Windows Task Scheduler.  The code would run say once each day.  It'd check all the appointments for the day after tomorrow.  If any of them include that one customer, then the code sends the customer a reminder.  For example, the code runs today and checks all the appointments on the 25th.  If customer X is an invitee, then the code sends them a reminder.  Otherwise, nothing happens.  Tomorrow the code runs again and checks the appointments on the 26th.  Once the task is set up in the task scheduler the user would never need to do anything.  How does that sound?
Hey BlueDevilFan,

Sounds exactly like what we need.

Only issues I can see is that that the email is going to be converted into an SMS. Which means that we don't particulary want Outlook sending meeting appointment data to the customers mobile phone as this would be confusing for the customer. Is it possible, rather then adding the email as an invitee, simply typing the email address into the subject or in the body of the appointment?

Example: A customer wants an apointment for Saturday 26th. The user creates an Outlook appointment, including the email address in body. Your script runs on the 25th via a scheduled task, checks all apointments on the 26th, for each appointment, extracts the email address from the body (assuming it is only thing present) and then sends a short email message to that address.

What do you think?
Yes, that's doable.  In fact it's simpler that way.  No need to write code to check every attendee of every appointment looking for that one person.  I'll get the code and instructions posted as soon as I can.  Probably tonight.
How is that script coming along?
Apologies, I'm a little behind on getting this done.  I worked up the basic code and in doing so have another thought/question.  Keying on an email address in the body of the appointment may not be a good solution.  For that to work the address will have to be the only text in the body, or will have to be delimitted in some fashion to make it unique.  That means never being able to add notes of any kind to the meeting request.  Would you prefer another method of tagging these messages?  I was thinking about using a category to identify them. Would that work for you?
I'm not sure where to find the category field in an appointment in Outlook 2007 - It looks like there is only a few different catergories you can assign.  

Perhaps the location field instead? I can't see them inputting any data in this field as there is only a single location.

Subject is not a good idea as that is how they would identify who owns the appointment.  What other places can you suggest?
"I'm not sure where to find the category field in an appointment in Outlook 2007"
Click the Categorize button on the ribbon and select All Categories.  Outlook has a number of built-in categories and you can create as many as you need to meet your needs.  Items can belong to one or more categories.  

"Perhaps the location field instead?"
I wouldn't recommend using it.  Location is intended to convey where a meeting will occur.  We could use it, but that'd mean it can't be used for its real purpose.

"What other places can you suggest?"
If you don't use the Contacts link of an appointment, then we could use that.  You'd link the contact entry of the person or persons to send reminders to to the appointment.  The downside is the same as using location or the body.  You won't be able to link a contact to an appointment without sending them reminders.  Another possibility is to include a key in the subject.  Perhaps something like [R] or /r/ to indicate a reminder for that appointment.
Thanks for the info about Categories.

Still don't like the idea of Categories as it is an extra unobvious step for the user. I do like the keying idea - downside is it makes your script a little more complicated. Something like M= (for mobile) as the key would be good. It would also allow for more then one per appointment (not a requirement - yet...)

I understand your point about using location and contacts. Perhaps as a backup plan if keying turns out too hard.

Thanks again for your help.
Any progress BlueDevilFan?
ASKER CERTIFIED SOLUTION
Avatar of David Lee
David Lee
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Great work BlueDevilFan,

I tried out your code and it works exactly as I'm after. Only issue I'm having is I get an error on line 33/34. "Invalid Procedure Call or argument: 'Mid'

From my medicore VB scripting ability, I believe this is the line that removes the "M=" from the address and adds the rest in as the actual address to send the email. Any chance of a syntax typo? Sorry I am not familar with VB syntax to debug myself so any help would be appreciated.

I tested the rest of the script by hardcoding in an email address and letting it run. Swapped the comment of .Send with .Display and worked beautifully.

Just for anyone else reading this - Works without security warnings on Vista & Outlook 2007 but security popups appear on Outlook 2002/2003.
Ok figured it out -

Firstly, line 30 should be +9 and not +7 (or the "M=" characters are not removed)

Secondly, the end of line for the M=someone@somebody.com is triggered by the enter character (line 31). So if the user types in M=someone@sombody.com.au and forgets to hit enter afterwards, you get my error above.

Points well earned  BlueDevilFan!


Excellent coding that would of taken me months to do myself!
Oops, sorry about that.  Glad you worked it out.  Thanks.  Glad I could help out.