What is an OpenVerb Library? OpenVerb Core is the execution engine, but OpenVerb Libraries (like this one) are reusable AI action blueprints. They are NOT npm packages. You can copy the schema directly into an AI prompt to instantly give it a structured action space.

Calendar & Scheduling Workflow

v1.0.0
Published by @OpenVerb Official
calendar.workflow
Updated 22 days ago

Universal verbs for calendar management, scheduling, and task tracking. Book meetings, manage availability, set reminders, and coordinate schedules. Essential for assistant and productivity AI agents.

calendarschedulingmeetingstasksproductivity
5197
108
0
calendar.workflow.create_event
Create a new calendar event or meeting

Input

{
  "type": "object",
  "required": [
    "title",
    "startTime",
    "endTime"
  ],
  "properties": {
    "title": {
      "type": "string"
    },
    "endTime": {
      "type": "string",
      "description": "ISO 8601 datetime"
    },
    "location": {
      "type": "string"
    },
    "attendees": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Email addresses of attendees"
    },
    "recurring": {
      "type": "object",
      "properties": {
        "until": {
          "type": "string"
        },
        "frequency": {
          "enum": [
            "daily",
            "weekly",
            "monthly"
          ],
          "type": "string"
        }
      }
    },
    "startTime": {
      "type": "string",
      "description": "ISO 8601 datetime"
    },
    "description": {
      "type": "string"
    }
  }
}

Output

{
  "type": "object",
  "properties": {
    "eventId": {
      "type": "string"
    },
    "calendarLink": {
      "type": "string"
    }
  }
}
calendar.workflow.check_availability
Check availability for one or more people in a given time range

Input

{
  "type": "object",
  "required": [
    "participants",
    "startRange",
    "endRange"
  ],
  "properties": {
    "duration": {
      "type": "number",
      "description": "Desired meeting duration in minutes"
    },
    "endRange": {
      "type": "string",
      "description": "End of the lookup window (ISO 8601)"
    },
    "startRange": {
      "type": "string",
      "description": "Start of the lookup window (ISO 8601)"
    },
    "participants": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}

Output

{
  "type": "object",
  "properties": {
    "availableSlots": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "end": {
            "type": "string"
          },
          "start": {
            "type": "string"
          }
        }
      }
    }
  }
}
calendar.workflow.reschedule
Reschedule an existing event to a new time

Input

{
  "type": "object",
  "required": [
    "eventId",
    "newStartTime",
    "newEndTime"
  ],
  "properties": {
    "eventId": {
      "type": "string"
    },
    "newEndTime": {
      "type": "string"
    },
    "newStartTime": {
      "type": "string"
    },
    "notifyAttendees": {
      "type": "boolean"
    }
  }
}

Output

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "updatedAt": {
      "type": "string"
    }
  }
}
calendar.workflow.set_reminder
Set a reminder or follow-up alert at a specified time

Input

{
  "type": "object",
  "required": [
    "title",
    "triggerAt"
  ],
  "properties": {
    "title": {
      "type": "string"
    },
    "channel": {
      "enum": [
        "push",
        "email",
        "sms"
      ],
      "type": "string"
    },
    "triggerAt": {
      "type": "string",
      "description": "ISO 8601 datetime to fire the reminder"
    },
    "linkedEventId": {
      "type": "string",
      "description": "Optional event this reminder is attached to"
    }
  }
}

Output

{
  "type": "object",
  "properties": {
    "reminderId": {
      "type": "string"
    }
  }
}
calendar.workflow.list_upcoming
List upcoming events for a user within a time window

Input

{
  "type": "object",
  "required": [],
  "properties": {
    "limit": {
      "type": "number"
    },
    "userId": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "startDate": {
      "type": "string"
    }
  }
}

Output

{
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
OpenVerb Sandbox

Paste a Verb Library JSON schema here to define what actions the AI can perform.

Ask the AI to perform a task. It will use the vocabulary defined in your library.

The AI proposes a structured action based on your library vocabulary.

Waiting for prompt...

OpenVerb Core intercepts the AI's action and validates it before execution.

Verb exists in library
Payload matches JSON Schema
Policy requirements passed
Inputs valid and sanitized

The validated action is routed to the application backend for execution.

Waiting...

OpenVerb Core generates an execution receipt for full auditability.

Waiting for execution...