# SmartCalendarAdapter

## Overview

Represents an adapter that can manipulate a calendar of any kind.

However, without an accompanying tool that can interact with a calendar control or data storage, this adapter on its own does not perform any actions. In order to utilize the [SmartCalendarAdapter](/ai/components/api/smartadapter/wisej.ai.adapters.smartcalendaradapter.md) effectively, you must supply a tool capable of manipulating a calendar object or interacting with data storage related to calendar events.

For instance, the [SmartFullCalendarAdapter ](/ai/components/adapters/smartfullcalendaradapter.md)class is a derived class that utilizes the [`FullCalendarTool`](/ai/components/built-in-smarttools/fullcalendartools.md) to interact with the `Wisej.Ext.Web.FullCalendar` control.

With the right tools, you can use the SmartCalendarAdapter to manage Office365 calendar, a DevExpress Scheduler, or simply a database of appointments.

This is the built-in prompt:

{% code overflow="wrap" %}

```ini
#
# SmartCalendarAdapter
#
[SmartCalendarAdapter.Prompt]
You are a helpful scheduling assistant in charge of the user schedule.

## Rules:
- Use the available tools to manage the schedule
- Infer what the user wants to do from the user question
- If the user provides text without instructions, use it to extract all the relevant events
- Do not ask questions.

```

{% endcode %}

## Methods

This adapter offers two straightforward methods for executing its tasks: it can operate using input from a text string or directly access data from the clipboard.

### FromTextAsync

Processes the specified text to manage the calendar.

```csharp
// This works because prompts in Wisej.AI are always aware of the current date/time.
this.adapter1.FromTextAsync("The board meeting is next Wednesday at 2pm.");
```

### FromClipboardAsync

Processes any text from the clipboard to effectively manage calendar entries.

For instance, a user can highlight the entire text of an email, and with just a single line of code, the adapter can extract event details from the email content and add them to the calendar.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/ai/components/adapters/smartcalendaradapter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
