NotesCalendarEntry (LotusScript)

Represents a Domino® calendar entry.


This object provides access to one entry of the calendar and scheduling services in a Domino® mail application in standard iCalendar format. See Internet Calendaring and Scheduling Core Object Specification (iCalendar) at for the format.
NotesCalendar provides methods for getting and creating calendar entries.
Entries include meetings, appointments, reminders, and other events that the owner places on the calendar, and to notices from other users after they are processed. Unprocessed notices are handled by NotesCalendarNotice.


UID (NotesCalendarEntry - LotusScript)


Accept (NotesCalendarEntry - LotusScript)

AddInvitees (NotesCalendarEntry - LotusScript)

Cancel (NotesCalendarEntry - LotusScript)

Counter (NotesCalendarEntry - LotusScript)

Decline (NotesCalendarEntry - LotusScript)

Delegate (NotesCalendarEntry - LotusScript)

GetAsDocument (NotesCalendarEntry - LotusScript)

GetNotices (NotesCalendar - LotusScript)

ModifyInvitees (NotesCalendarEntry - LotusScript)

Read (NotesCalendarEntry - LotusScript)

Remove (NotesCalendarEntry - LotusScript)

RemoveInvitees (NotesCalendarEntry - LotusScript)

RequestInfo (NotesCalendarEntry - LotusScript)TentativelyAccept (NotesCalendarEntry - LotusScript)Update (NotesCalendarEntry - LotusScript)


This agent reads the calendar entry for a given UID, or its first instance in the case of a recurring entry.
import lotus.domino.*;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();

          // (Your code goes here)
          String uid = session.getEnvironmentString("currentuid");
          String calestr = "";
          if (uid != null) {
              DbDirectory dbdir = session.getDbDirectory("");
              Database maildb = dbdir.openMailDatabase();
              NotesCalendar cal = session.getCalendar(maildb);
              NotesCalendarEntry cale = cal.getEntry(uid);
              calestr =;
              int i = calestr.indexOf("RECURRENCE-ID:");
              if (i >= 0) {
            	  String recurid = calestr.substring(i + 14, i + 30);
            	  calestr =;
          } else {
        	  calestr = "Null UID";
          // Write result to document
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "main");
          doc.appendItemValue("subject", "Calendar entry");
          RichTextItem body = doc.createRichTextItem("body");
, true);

      } catch(Exception e) {

LotusScript® syntax and examples

This agent reads the calendar entry for a given UID, or its first instance in the case of a recurring entry.
Sub Initialize
	Dim session As New NotesSession
	Dim maildb As New NotesDatabase("", "")
	Dim cal As NotesCalendar
	Dim cale As NotesCalendarEntry
	Dim uid As String
	Dim calestr As String
	Dim recurid As String
	Dim i As Integer
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim body As NotesRichTextItem
	uid = session.Getenvironmentstring("currentuid")
	If uid = "" Then
		MessageBox "No current UID",, "Error"
		Exit sub
	End If
	Call maildb.Openmail()
	Set cal = session.getCalendar(maildb)
	Set cale = cal.Getentry(uid)
	calestr = cale.Read()
	i = InStr(calestr, "RECURRENCE-ID:")
	If i > 0 Then
		recurid = Mid$(calestr, i + 14, 16)
		calestr = cale.Read(recurid)
	End If
	REM Write results to document
	Set db = session.Currentdatabase
	Set doc = db.Createdocument()
	doc.Form = "main"
	doc.Subject = "Calendar entry"
	Set body = doc.Createrichtextitem("body")
	Call doc.Save(true, true)
End Sub