Latest Updates

Products & Applications

My Blackberry Enterprise Server Push Utility for the Lotus Notes Client, allows you to create Jobs for individual Channel, Message, and Browser Content Pushes, as well as allows you to delete Pushed Channel Icons from defined recipient devices.

Time Tracker
The idea is simple. At the start of your day - upon completion of your first task - create an entry highlighting what you did and whether you feel it was an efficient or inefficient use of your time. Based on several requests, you can also select the priority, apply categories, or even align your time against a project.

For Lotus Notes Client v8.0 and above, you can use the Time Tracker Widget to make this process even easier!

My Configuration-based Rich Text Mail Merge and Emailing Utility, Zephyr allows you to create rich, data-driven emails to support automated workflow - all via Microsoft Word Mail Merge-like architecture. Dear <firstname> allows you to personalize each email message not only to the individual recipient, but also to the individual application workflow event!

xCopy is a simple configurable xCopy client for the Lotus Notes client. By creating and defining xCopy Profiles, you can batch process your file backup or remote upload jobs. With the addition of the xCopy sidebar widget, you can easily kick-off these jobs, and modify both the xCopy Profiles and xCopy itself.

Community & Resources

Lotus Technical Information & Education Community

The Lotus Technical Information & Education community is comprised of IBM, business partner, and customer subject matter experts who use product wikis, published articles, white papers, community blogs and the latest in social media to build and share high quality technical content. - Open Source Community for Lotus Notes Domino

OpenNTF is devoted to enabling groups of individuals all over the world to collaborate on IBM Lotus Notes/Domino applications and release them as open source.

developerWorks Lotus : Wikis

Share your deployment experiences and best practices in our wikis and help IBM to create scenarios for successful deployments. Contribute to the community by collaborating on shared content and leverage the shared knowledge from that community.

Zephyr v0.1 - Configuration-based Rich Text Mail Merge and Emailing Utility

08/21/2008 02:56:42 PM by Chris Toohey

I've been cheating. When I have an application that requires some form of automated emailing, chock full of doclinks, formatting rich text, and other mind-numbing exercises in what will eventually leave to hair-pulling and teeth-gnashing... I cheat. See, I won't write on-the-fly emails in an application - aside from being a PITA to get juuuuuuuust right, 2 days after the application is implemented you're getting calls from the project champion asking for tweaks.

I'd rather avoid those calls, and give them the rod and bait that allows them to fish for themselves... if you follow me.

So - very much in-line with my Excel Export utility, I don't create an email on-the-fly, but rather take a configurable Email Template, do the required Mail Merging, and simply send that email on it's way. While it is generated on-the-fly so to speak, it's not as if I have to build everything from scratch.

Okay - enough small talk - we're here to get you this utility application, so you don't have to wrangle Rich Text or settle on simple Plain Text-based, workflow-driven notifications. It's with that, that I present Zephyr!

So... what exactly does Zephyr do?

Well, let's say you have a Helpdesk database where you wish to send out context-sensitive notifications when select tickets are closed. You can create a simple agent that - to make this simple - takes the contents of the source NotesDocument (sdoc), and copy them to a new NotesDocument (jdoc) in Zephyr which we'll call a Job Document. ( In fact, we actually need to change the Form NotesItem to "jobdocument" in order for it to work in Zephyr!)

Once we have our jdoc in Zephyr, we take a look at the Email Templates (edoc) within Zephyr. Each Active edoc contains a searchcriteria NotesItem, which is evaluated at runtime against a NotesView containing all of our jdocs, checking for an @True-match. When found, we simply write a new NotesDocument (memo) to the Server (where Zephyr currently resides - even works on Local!), evaluate pseudo-Mail Merges against the edoc, and copy all needed items into the memo.

For some added goodness, we update the jdoc with a stamp that tells us that the given edoc has evaluated and ran against said jdoc. If you never wish to process that same jdoc again, simply add that condition to the edoc's searchcriteria NotesItem.

The From/Principal, SendTo, CopyTo, BlindCopyTo, ReplyTo, Subject, and even the Body NotesItems of the edoc are Mail Merge-friendly, allowing you to completely control the generated email!

Zephyr v0.1 - Configuration-based Rich Text Mail Merge and Emailing Utility - Download

So, if you use this application, all you'll need to do is use the typical Rich Text editor to define what your email should contain (including Embedded Single Category Views, placeholders for DocLinks, Computed Text, Attachments, etc.), the Job Document criteria specifying which jdocs the Email Template should run against, and - lastly - externally deposite whichever documents you wish to trigger such Rich Email Notifications against!

In this release, you'll see a UI-accessible Agent called New Example Job Document. This Agent creates a simple Job Document - which when used in combination with the example Email Template, will send me a simple email! Also - the Notifications Agent is scheduled to run every 5 minutes (decrease that!), and is currently disabled. You can manually run the Notifications Agent to test the utility - which I hope makes your life as easy as it's made mine!


This is neat, however, a little help with where to define the merge fields. I see where and are in the email template, but where are the values pulled from? Is there a profile doc where you enter that information? or is that the Excel spreadsheet you referred to?

Thanks, in advance, for the information. This is great!

Chris TooheyName:Chris TooheyWebsite:http://www.dominoguru.comComment


The jdoc contains the data that we'll use for the mail merge. See, ideally, you would have an external-to-Zephyr application submitting Job Documents to Zephyr instead of creating email notifications itself. This way, you could take information from a single or many NotesDocuments, an entire NotesView or NotesDataCollection, or from a Parent/Response pairing - you build and submit the Job Document, and Zephyr - via the Email Templates evaluating what they should process - would handle the rest!


Hi Chris, very nice app ! But I run into trouble in the processJobs function, doing the eval of the search criteria against the jdocs. I had success one time, but most of my tests i run into an "operation invalid" error. I tried several alternatives of the serach criteria:

form="jobdocument" and Key123!="1" form="jobdocument" and Key123="" form="jobdocument" and @Text(Key123)="" [FORM]="jobdocument" and @Text([Key123])=""

but with no success. Client/Designer here is 8.5

You have any hint for me?

Regards from Germany


Chris TooheyName:Chris TooheyWebsite:


Try this:

form="jobdocument" & @Text(Key123)!="1"

Jose ZaldivarName:Jose ZaldivarWebsite:http://www.palante.caComment Hi Chris, I could use this... but how does it handle sending email using another account? For example, I would like send email as sales(at) Does the Domino server SMPT handles it correctly? Wondering if this will do the trick.


Jose ZaldivarName:Jose ZaldivarComment

How you target a different database for querying?

I will also be nice to have an option to compute a formula before sending the document. If you had a box in there where I can try to insert formula, such as


then I can use it in the mail merge feature.


I would also suggest to add a "Test" button, so you could try sending the email to yourself first. Like an override feature. The emails are generated but in the last statement, you could change the recipient to be someone else.

Also, it will be great if you could have counter limit. Say, only send to the first 500 users or to 1 user. This will help as well to make it so you can then again test all the features without sending to all users!

I will try it and I will add these changes. Let me know if you want the revised version back!



RobName:RobComment Hi,
Awesome app. I am very unclear on what needs to be done for jobdocument?

I can create a job from the address book, but when I try to open the job, I get error:
Cannot locate forms: job document
Cannot locate default forms

Search criteria is: form = "jobdocument" & @Text(notification_pabmailer) =""

Your help is greatly appreciated.

(not published)

Evaluate this Formula: @LowerCase(@Text("FOO"))