Automatic Processing of Unsubscribe Requests via an Outlook Rule
Yes. we all get them. Who in your organization handles all those manual requests that come out of Convio when someone tries to unsubscribe but the system isn't able to identify them? Someone hopefully
At CARE, that person is me, and it's a royal PITA. Up until today, I had built out a lightweight tool webpage that simply let me copy and paste the e-mail into a form field and hit submit and the convio API did the rest. Simple, easy... and great when there are only a handfull to run. Well, I've been out of the office for several days and there were about 100 or so backlogged. I'm a code geek, as much as I hate to admit it, and I'm also as lazy as the day is long. So. I built an a better mousetrap for myself, and thought I'd share in case anyone is interested. Probably, Convio will remove this like they have several other posts I've made that were fairly complex and technical, but oh well, I'll give it one last try. First off, yes, this will require some technical knowledge and a few prerequisits for this solution to work. Remember, this works on MY computer, your mileage may vary, but if you're like some help, let me know!
- You must have Perl install on your machine (I'm assuming Windows here since it's all about Outlook -- you Mac users are SOL as usual... makes ya think, huh? Form over function and all that.........). You can get that free from http://www.activestate.com. Just the vanilla install will do, but remember where you install it, because that WILL MATTER. I have mine installed at "C:\\Perl" to make things easy on myself.
- I am using Outlook 2003. Don't know if later version work the same way or not. Probably, but don't bet on it.
- My computer is running Windows 7, but since the tools in use here don't require Windows 7 to run, that should matter, as long as you have Outlook, you should be fine.
- The rule I'm setting up isn't designed to be a server-side rule, nor is it designed to run automatically (generally, you don't want this type of rule running without supervision...).
Ok, with that out of the way, here goes!
Part One: The Perl script.
Attached to this document are two files. One is called unsubproc_template.pl. Download that and rename it to unsubproc.pl and remember where you put it. Download the other one and put it in the same directory. Open the upsubproc.pl file in a text editor. On line 1, it says "#!C:/Perl -w" This is the perl "shebang" line (don't ask, just accept the name and move on) -- change it so that it matches where your Perl processor was/is installed. There are 5 things you need to edit in this file, they are all marked. It's the URL for your API based on your site's instance, your API Key, your API Admin credentials and a path for this program's output log. For simplicity sake, use the same path as the file -- can be anything though, if you want. Note, though, to use slash characters "/" in the Perl file.
Part Two: The Outlook script.
That's the easy part, not for the annoying Microsoft portion of this adventure:
- Open Outlook
- Go to Tools > Macros > Visual Basic Editor (or just key Alt+F11)
- You should see something on the right that says "Project1" and under it a folder that says "Microsoft Office Outlook Objects" -- expand that.
- You should now see something that says "ThisOutlookSession" -- click that (or maybe double click).
- Now, unless you or someone you know (or don't know....) has edit this before, you should have a blank document on the right. Open the OutlookVBACode.txt file and paste it, in it's entirety, here. If you already have code there, simply remove the "Option Explicit" line from the text file first and paste the contents below whatever is already there.
- The only line you need to change is where it says "Const ExternalProcessor As String" -- Change that to be the path to the Perl script you installed above -- this time make sure to use BACKSLASHES "\\" instead since that's what Windows expects.
You don't need to edit anything else in this file. Paste it, edit that path, and save it. Then, File > Close and Return to Microsoft Outlook (or just key Alt+Q).
Part Three: The Rule
Now, it's the (more or less) easy part. At least, its the part that you, dear reader, are most likely to be familiar with anyway.
- In Outlook, go to Tools > Rules and Alerts.
- Click New Rule
- Create rule conditions that are very specific to the Convio emails. For example, I have conditions that allow this rule to file only when the e-mail is set TO the correct address and contains "Unsubscribe Request: " (the From seems to show up as an On Behalf Of thing... so I didn't use that...). When you're done, click Next.
- For the Action, scroll down and select "run a script"
- When prompted, select "Project1.ThisOutlookSession.ConsUnsubProc" as the script. Probably you'll only have that one, but if you've done other custom work, or have installed other macros or something, there might be more there. Click Next.
- Probably don't need any exceptions, just click Next.
- Give it a name -- I called mine Convio Unsubscribe Processor, but if you want to call it the Purple Cow Bucket or something, feel free (whatever floats your boat, chief).
- Don't set the rule as "on" because you don't want this running by itself (generally, it's a bad idea for rules that run scripts to run all willy nilly).
- Click Finish.
Part Four: Make it so!
So, it's all set up. Lets see it in action, w00t! Go to the email folder that has all the unsubscribe emails in it. It doesn't have to be exclusive, since you set your rule up to only process the correct emails (right??). If you didn't, any e-mail address that has a subject line with an e-mail address as the third word will get opted out.... By word, I mean and peice of text with a space before it. So, if the subject line was "My Email: bobby@joe.com" then, bobby@joe.com would get opted off your list. That's why the criteria you set up are are so important.
- Go to the folder, and click Tools > Rules and Alerts.
- Click Run Rules Now
- Check the box of the new rule you created in Part three, don't check any other boxes.
- Click Run Now -- you'll see a bunch of command prompt boxes open and close and depending on your internet connection, computer processor and the number of e-mails in the box, this could take a while. It IS NOT DONE until all the command prompt boxes close.
- When done, click Close on the rules box and X out of the Rules and Alerts dialog.
- Now, open the log file that will have been created magically wherever it was you specificed in the Perl script. You'll see the XML return data that the convio API threw back. Generally, you should see success statements and Convio IDs, etc. If you see any errors messages, you'll need to follow up on those manually since clearly, those e-mails didn't get opted out.
- Lastly, when you're done, you can delete, or file, or print out and roll around on (ew) all the unsub e-mails that you never actually had to open! whoooohooooo!
As I said, this is something I created for myself, but I thought perhaps I would be helpful. I'd love to hear back from anyone who has tried this.
-mike
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 3 Blackbaud Staff Discussions
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board