# Getting Started 👋

## Create a New Skill

- **Navigate to the Skills Area:** Within Alice, head over to the Skills section instead of Snippets.

- **Start a New Skill:** Click on “New Skill” and assign it a clear, descriptive name such as “Schedule Meeting.”

- **Category Selection:** Choose a category that fits, for example “Business” or “Productivity.”

## Design Your Skill Prompt

Craft a form-like prompt that collects the essential meeting details:

- **Meeting Title:** A brief, descriptive name for the meeting.

- **Attendee Email(s):** A field to allow input of one or more email addresses.

- **Meeting Date and Time:** Use a date-time picker or similar input control.

- **Meeting Duration:** Provide duration options (e.g., in minutes).

- **(Optional) Default Meeting Link or Location:** If you have a standard meeting URL (like Zoom) or a designated physical location, include this field.

## Enable JSON and Remote Action Capabilities

- **Structured Data Output:** Check the option to enable JSON. This ensures that inputs are processed as structured data.

- **Remote Actions:** Enable the “Remote Action” setting so that the Skill can interact with external services.

## Integrate with Google Calendar

- **Generate a Webhook:**
  - Within Alice, create a new webhook. This will generate a unique URL for your integration.
  - Copy and securely store this URL for use in the API connection.

- **Set Up Google Calendar API:**
  - Follow Google Calendar’s developer documentation to configure the API.
  - Set up authentication (OAuth tokens/credentials) and obtain the necessary API keys.
  - Ensure Alice is authorized to read and write events on your calendar.

## Using Your “Schedule Meeting” Skill

- **Activation:** Trigger your Skill from Alice when you need to schedule a meeting.

- **Input Details:** Fill in the prompted meeting details.

- **Conflict Detection:**
  - The Skill will interact with your Google Calendar to automatically check for any scheduling conflicts at the proposed time.
  - If a conflict is detected, you’ll receive a notification along with a link to the conflicting event.

- **Add the Meeting:**
  - If no conflict exists, the Skill proceeds to add the meeting to your calendar seamlessly.

## Additional Customization

- **Advanced Options:** Consider incorporating further features like rescheduling or canceling meetings, each with additional prompts and validations.

- **Permissions:** Confirm that your Google Calendar account has the necessary permissions for external tools to add, modify, or remove events.
