Skip to content

The moment it happens

Turn incoming events into Outlook drafts

Anything posted to your link, like a new booking, becomes an email or draft in your Outlook, sent from your own address.

Runs
The moment it happens
Apps
Outlook
AI
Yes, uses the built-in AI allowance
Access
Mail.ReadWrite, Mail.Send

Send this to your assistant

Create a ClickRuntime automation: give me a webhook link; when a Calendly booking is posted to it, write a short personal follow-up to the invitee and save it as a draft in my Outlook.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A developer's form submissions, a warehouse system's alerts and a spreadsheet script all need to send email from a real business address, such as sales or the owner's own account. Setting up SMTP, handling authentication and keeping credentials out of code is fiddly, and messages sent from generic addresses often land in spam. Some messages need a human check before they go, but there is no easy way to park them.

When something is posted to your link, such as a JSON payload with a recipient, subject, body and optional attachment, the message is created in Outlook from your own address. ClickRuntime's built-in AI can write the body from a few notes, and the message is either sent at once or saved as a draft for your review.

It is useful for developers, ops teams and anyone who wants other tools to send mail through Outlook.

What you get out of it

  • Email comes from your real address

    Messages sent from your own Outlook account look like your normal mail, so replies reach you and recipients recognize the sender. That helps both trust and deliverability. That also means customers can reply directly to a real person instead of a no-reply address.

  • Credentials stay out of scripts

    Your Outlook connection is stored as a secret on ClickRuntime's side. A script or form only knows the link, so there is no mail password to leak from a repository.

  • Drafts allow a human check

    Choosing draft mode lets the automation prepare messages that you read before sending. Important or sensitive emails get a final review, but you still skip the writing. That balance suits teams who want speed but cannot risk a wrong message going out untouched.

  • Attachments are supported

    A file posted along with the message is attached to the email, so reports, invoices and exports can be delivered without a separate upload step. Invoices, exports and reports can travel with the message and arrive intact for the recipient.

  • Any tool can send mail

    A form, spreadsheet, chat bot or internal system can trigger an email through one link. That removes the need to integrate each tool with an email service separately. That makes it much easier to add new senders later, with a small amount of setup each time.

How it works

What happens, step by step

  1. When something is sent to your trigger link, such as a new booking, ClickRuntime picks it up straight away.

  2. AI writes a short, friendly email from the details, such as a booking confirmation.

  3. The email is saved in your Outlook Drafts, addressed to the customer and sent from your own address. If you choose, it is sent straight away instead.

Before it runs live

  • Connect Outlook
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Turn incoming events into Outlook draftsjust nowSucceeded
Outlook · DraftsTo: sam@northwind.com · Your booking on 24 October is confirmed Hi Sam, thanks for booking – we'll see you at 10:00 on Friday…

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other Outlook steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
send_an_email_or_draft_from_a_trigger_link.pyexample
from clickruntime import on_event, credentials, http, ai

GRAPH = "https://graph.microsoft.com/v1.0"
SEND_NOW = False  # False saves a draft for you to check

@on_event
def handle(event):
    b = event.json
    h = {"Authorization": f"Bearer {credentials.connection('microsoft', 'work')}"}
    body = ai.generate(f"Booking details: {b}", system="Write a short, friendly confirmation email body. Plain text.",
                       max_output_tokens=300).text
    msg = {"subject": f"Your booking on {b['date']} is confirmed", "body": {"contentType": "Text", "content": body},
           "toRecipients": [{"emailAddress": {"address": b["email"], "name": b.get("name", "")}}]}
    draft = http.post(f"{GRAPH}/me/messages", headers=h, json=msg).json()
    if SEND_NOW:
        http.post(f"{GRAPH}/me/messages/{draft['id']}/send", headers=h)
    return {"draft_id": draft["id"], "sent": SEND_NOW}

FAQ

Common questions

Can it send on behalf of a shared mailbox?
If your Outlook account has permission to send from a shared mailbox, the message can be sent from that address. Without that permission, it uses your own address, and sending is limited by Microsoft's normal rules.
Are there sending limits?
Yes. Outlook and Microsoft 365 limit how many messages an account can send per minute and per day. The link is meant for transactional and notification mail and is not suitable for bulk marketing campaigns.
How is the body written if I only send notes?
With the AI step enabled, ClickRuntime's built-in AI turns brief notes into a polished email in the tone you set. Without it, the body is used as given, so you can send your own wording exactly.
What permissions does it need?
Mail.ReadWrite, Mail.Send. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Turn incoming events into Outlook drafts” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.