A workflow that reads incoming appointment requests, checks calendar availability, and drops a ready reply draft with three time proposals into the inbox for review before sending.
automatingwriting
Description
Appointment requests by email usually cost more time than the appointment itself: open the calendar, search for free slots, draft a reply, match the tone. This workflow takes over exactly that intermediate step. It recognizes a flagged appointment request, extracts duration, time preference, urgency and topic, matches this against actual free slots, and places a reply draft with three concrete proposals in the inbox.
What gets automated is the research and the drafting, not the sending. The draft lands in the email tool as a draft and waits for approval. This keeps control over tone, commitment and actual availability in your hands, while the mechanical groundwork falls away.
A human stays in the loop at two points: applying the label that triggers the workflow, and the final review of the draft before it is sent. For recurring, low-complexity appointment requests (initial calls, introductory meetings, standard meetings), this saves noticeable time without any email going out unreviewed.
Control stays with you: Every draft goes out only after your review. No appointment is confirmed or sent automatically.
Consistent format: Every reply follows the same professional structure with a clear call to action, no matter who would otherwise have handled the request.
Less manual calendar searching: The Appointment Bridge matches the request directly against free slots, instead of you searching the calendar by hand.
Steps
Every step shows who carries it out: icon, colour and label together indicate whether a person acts, whether it runs automatically, whether a result is produced, or whether an approval is required.
01 · Person
A new email with the label "Appointment request" starts the process.
02 · Automated
Duration, time window, time zone, topic and special requirements are read from the message as structured JSON.
03 · Automated
Free slots within the desired time frame, usually two to three weeks, are determined taking buffer times and working hours into account.
04 · Automated
A polite reply with three concrete time proposals is drafted, with a matching tone and a clear call to action.
05 · Automated
The draft is saved in the email tool, ready for review.
06 · Result
A short message in Slack or Teams announces that a draft is ready for review.
Key
PersonAutomatedResultApproval
Requirements and operations
Requirements
Email toolGmail, Outlook or a comparable tool, for receiving the request and saving the draft.
Calendar toolGoogle Calendar, Outlook or Calendly with read access to free slots.
Rule setFixed working hours, buffer times, typical meeting lengths and preferred time windows, so the proposals stay realistic.
LLM accessAn API key for OpenAI, Claude or Gemini.
Testing
Send a test requestSend a test request, for example "30 minutes next week, morning, Project X".
Check the analysisCheck whether the JSON contains the right duration, preferences and topic.
Calendar and draftCheck whether real free slots are found and the draft contains three concrete proposals.
Edge casesTest requests with no free slots, multiple time zones and very urgent requests.
Go-live
ApproveActivate the workflow only once the analysis, calendar match and draft run cleanly.
Draft modeLet the workflow run in pure draft mode for a week and refine the slot rules based on the results.
Label filterSet the "Appointment request" label cleanly, so it does not fire on other emails.
Adjust styleMatch the template and tone of the drafts to your usual style.
Common issues
No free slotsWiden the search window to two to three weeks and loosen the time constraints.
Time zone mismatchDetect the sender's time zone and state it explicitly in the draft.
Trigger fires on every emailSet the filter exactly to the "Appointment request" label.
Draft too genericAdd examples of tone and phrasing to the prompt.
Builder Prompt
Copy the prompt below in full into your automation tool or agent builder. As a file: termin-bruecke.en.json
GOAL
Build a workflow that automatically analyzes incoming appointment requests by email, checks calendar availability, and creates a ready reply draft with three concrete time proposals. Sending only happens after your manual review, never automatically.
Adapt the structure to the concepts of your automation tool, for example nodes, steps, zaps or agent actions. While doing so, preserve the trigger logic, the sequence and the data flow.
TRIGGER
Type: new email with the label "Appointment request".
Filter: exact match on the label, so the workflow does not fire on every email.
STEPS
1. AI step: email analysis. Use exactly the analysis prompt below. Output is a JSON with duration_minutes, time_preferences, urgency, topic and special_requirements.
2. Check calendar: load free slots for the next two to three weeks, taking working hours, buffer times and preferred times from the stored rule set into account. Select three matching slots.
3. AI step: generate draft. Use exactly the draft prompt below, with the slots from step 2 as input.
4. Save draft: save the text as a draft in the email tool, as a reply in the same thread. No automatic sending.
5. Output: send a notice in Slack or Teams that a draft is ready for review.
PROMPTS (use exactly and unchanged)
Prompt 1, email analysis:
"""
Analyze the following email appointment request and extract all relevant information:
Email subject: [EMAIL_SUBJECT]
Email body: [EMAIL_BODY]
Sender: [SENDER_NAME]
Identify and structure the following information:
1. Desired appointment duration, in minutes
2. Time preferences, for example specific weekdays, times of day or date ranges
3. Urgency (urgent, normal, flexible)
4. Topic or purpose of the appointment
5. Special requirements, for example in person, online or with additional participants
Return the information exclusively in the following JSON format:
{
"duration_minutes": [number],
"time_preferences": "[description]",
"urgency": "[urgent/normal/flexible]",
"topic": "[topic]",
"special_requirements": "[requirements]"
}
"""
Prompt 2, draft generation:
"""
Create a professional email reply draft for the following appointment request:
Original email:
Sender: [SENDER_NAME]
Subject: [EMAIL_SUBJECT]
Message: [EMAIL_BODY]
Analyzed information:
Appointment duration: [DURATION] minutes
Topic: [TOPIC]
Special requirements: [SPECIAL_REQUIREMENTS]
Available times from the calendar:
[AVAILABLE_SLOTS]
Write a friendly, professional reply that
1. addresses the appointment request,
2. contains three concrete time proposals with date, time and duration,
3. picks up the tone and style of the original email,
4. contains a clear call to action, for example "Please let me know which time works best for you.",
5. closes with the following signature: [YOUR_SIGNATURE]
Use a clear structure in paragraphs and list the time proposals clearly with date, time and duration.
"""
DATA FLOW
Trigger to step 1: email subject, email body, sender.
Step 1 to step 2: duration_minutes, time_preferences, urgency, for the slot search.
Step 1 to step 3: duration_minutes, topic, special_requirements.
Step 2 to step 3: the selected slots as available times.
Step 3 to step 4: the finished draft text.
ERROR HANDLING
No free slots in the desired time frame: widen the search window to three or more weeks. If it is still empty, generate the draft with a note about the shortage and flag this in the notification.
Time zone mismatch: detect the sender's time zone and state the time proposals in the draft with an explicit time zone reference.
No valid JSON from step 1: repeat the analysis step once. If the result is still invalid, send a notification for manual handling.
Urgent request, urgency equals urgent: prioritize the earliest possible slots and flag this in the notification.
PLACEHOLDER CONVENTION
All placeholders in square brackets are variables. Map email, analysis and calendar data dynamically, as described in the data flow. Not dynamic are [YOUR_SIGNATURE] and the rule set with working hours, buffer times and standard meeting lengths. Set these manually before activation. List all placeholders that require manual configuration separately at the end.
SELF CHECK BEFORE COMPLETION
Check, before you report the workflow as finished:
1. Are all steps connected correctly, and is the draft only ever saved, never sent automatically?
2. Are both prompts inserted in full and unchanged, and are all dynamic placeholders mapped?
3. Does the slot search take working hours, buffer times and the duration from the analysis JSON into account?
4. Are all points listed that require manual configuration: the "Appointment request" label, calendar access, the rule set, [YOUR_SIGNATURE], the notification channel and the LLM access?
Working prompts
Email analysis
Used in step 2 to extract duration, time preferences, urgency, topic and special requirements from the appointment request.
Analyze the following email appointment request and extract all relevant information:
Email subject: [EMAIL_SUBJECT]
Email body: [EMAIL_BODY]
Sender: [SENDER_NAME]
Identify and structure the following information:
1. Desired appointment duration, in minutes
2. Time preferences, for example specific weekdays, times of day or date ranges
3. Urgency (urgent, normal, flexible)
4. Topic or purpose of the appointment
5. Special requirements, for example in person, online or with additional participants
Return the information exclusively in the following JSON format:
{
"duration_minutes": [number],
"time_preferences": "[description]",
"urgency": "[urgent/normal/flexible]",
"topic": "[topic]",
"special_requirements": "[requirements]"
}
Draft generation
Used in step 4 to turn the analysis and the selected calendar slots into the finished reply draft.
Create a professional email reply draft for the following appointment request:
Original email:
Sender: [SENDER_NAME]
Subject: [EMAIL_SUBJECT]
Message: [EMAIL_BODY]
Analyzed information:
Appointment duration: [DURATION] minutes
Topic: [TOPIC]
Special requirements: [SPECIAL_REQUIREMENTS]
Available times from the calendar:
[AVAILABLE_SLOTS]
Write a friendly, professional reply that
1. addresses the appointment request,
2. contains three concrete time proposals with date, time and duration,
3. picks up the tone and style of the original email,
4. contains a clear call to action, for example "Please let me know which time works best for you.",
5. closes with the following signature: [YOUR_SIGNATURE]
Use a clear structure in paragraphs and list the time proposals clearly with date, time and duration.
JSON export
Setup
Two routes lead to the same result. Pick the one that fits your setup.
Suitable when you want to build the workflow in your own automation tool.
Open your workflow tool, for example n8n, Make, Zapier or Langdock.
Create a new workflow and give it a name.
Choose the AI-assisted build option if your tool offers one.
Paste the builder prompt from above in full.
Check the result against the step sequence in this document, then add your access credentials and channels.
Suitable when you want to take the workflow over unchanged.
Download the JSON file from the JSON export section.
Open the workflow area of your tool and create a new workflow.
Give it a name and confirm.
Open the menu on the workflow name and choose to import a JSON file.
Upload the file, then add your own access credentials.
Run a test before you activate the workflow.
Last reviewed:
In the workshop this becomes your method.
A single prompt becomes a repeatable method. We show that in the workshop From Prompt to Method.