Integration

ProductivityConnect with OAuth

Microsoft 365 voice AI integration

The Microsoft 365 integration connects your AI voice and chat agents to Microsoft 365, so they can check calendar availability on a live call. It's a productivity connector that runs as a tool the agent calls mid-conversation — you connect with oauth, attach it to an agent, and it acts in real time without a human in the loop.

Microsoft 365 API docs

Last updated 2026-10-27

What your agent can do with Microsoft 365

Check calendar availabilityCheck calendar availability

Check whether the Outlook calendar is free between two times BEFORE offering or booking a slot. Provide timeMin and timeMax as ISO 8601 with the UTC offset of the timezone you have been told you are operating in — a window sent in the wrong zone returns the wrong busy intervals. Returns busy intervals in UTC.

Inputs

FieldTypeDescription
timeMax*stringWindow end, ISO 8601 with the same UTC offset as timeMin
timeMin*stringWindow start, ISO 8601 with YOUR timezone's UTC offset, e.g. 2026-06-15T09:00:00+05:30 in India or 2026-06-15T09:00:00-04:00 in New York
Book a calendar eventBook calendar event

Create an Outlook calendar appointment. Provide start and end as ISO 8601 date-times WITH a UTC offset. Use the offset of the timezone you have been told you are operating in — do not assume one, and never copy the offset from an example. Use this when the caller agrees to a specific appointment time.

Inputs

FieldTypeDescription
attendee_emailstringOptional attendee email to invite
descriptionstringOptional event notes
end*stringEnd datetime, ISO 8601 with the same UTC offset as start
start*stringStart datetime, ISO 8601 with YOUR timezone's UTC offset, e.g. 2026-06-15T15:00:00+05:30 in India or 2026-06-15T15:00:00-04:00 in New York
title*stringEvent title, e.g. Demo call with Acme
Append a row to a tableAppend to spreadsheet

Save the caller's details as a new row in the Excel table. Fill every column you can; ask the caller for anything missing.

Inputs

FieldTypeDescription
row*arrayCell values for the new row, left to right, e.g. [name, phone, notes]
Find rows in a tableFind spreadsheet rows

Look up rows in the connected Excel table — e.g. find the caller's booking or order by phone number or name. Returns each match with its row_number (needed to update it). Dates may appear as Excel day numbers unless the column holds text.

Inputs

FieldTypeDescription
limitintegerMax rows to return (1-20, default 5)
search_columnstringColumn header to search in, e.g. 'Phone'. Omit to search every column.
search_valuestringThe value to find — e.g. the caller's phone number, name, or booking ID. Leave empty to just read the first rows.
Update a row in a tableUpdate spreadsheet row

Change specific cells of one row in the connected Excel table. First find the row with the find-rows tool, then pass its row_number and only the values that changed.

Inputs

FieldTypeDescription
cellsobjectColumn header → new value for just the cells to change, e.g. {"Status": "Confirmed"}. Other cells keep their values.
row_number*integerThe row to update — take it from the find-rows result. Row 1 is the table's header row; data starts at row 2.
List rows from a tablelist_rows sheets

Read rows from the connected Excel table in order, a page at a time — use this to import a whole list. Returns each row with its row_number (needed to update it later), plus has_more and next_offset for the following page.

Inputs

FieldTypeDescription
limitintegerRows per page (1-500, default 100)
offsetintegerHow many data rows to skip (0-based; the header row is never counted). Use next_offset from the previous page.
Update many rows in a tableupdate_rows sheets

Write several rows of the connected Excel table in one call — use this to flush a batch of results instead of updating rows one at a time. Each entry needs the row_number and only the cells that changed.

Inputs

FieldTypeDescription
rows*arrayRows to write. Each is {row_number, cells:{Header: value}}; only the cells you pass are changed.
Append rows to a tableappend_row sheets

Append rows to an Excel table, matching values to columns BY HEADER NAME. The destination writer for call logs.

Inputs

FieldTypeDescription
rows*array[{cells: {header: value}}]
Send an email (Outlook)send outlook

Send an email from the connected Microsoft 365 mailbox via Outlook. Use when the caller asks to be emailed something — a summary, confirmation, link, or details.

Inputs

FieldTypeDescription
body*stringPlain-text email body
subject*stringEmail subject line
to*stringRecipient email address (several may be separated by commas)

Agent templates that use Microsoft 365

Dental clinic receptionistFlow
Books, reschedules and confirms dental appointments — checks real availability and books the slot, with a warm front-desk manner.
Appointment reminder & confirmationFlow
Calls patients before their visit and lets them confirm, reschedule, or cancel by voice OR keypad (press 1/2/3). Reschedules check real availability and rebook; a WhatsApp confirmation goes out — cutting no-shows without front-desk effort.
Restaurant table reservationFlow
Takes table bookings end to end: party size, date and time, checks real availability, books the table or offers the waitlist, and confirms over WhatsApp. Guests can ask a menu or dietary question at any point and be returned to their booking.
Auto service schedulerFlow
Books vehicle service appointments — captures the car and service type, checks availability, books the slot, and sends a WhatsApp confirmation with what to bring.
Class & session bookingFlow
Books fitness or wellness classes and sessions — captures the class and preferred time, checks availability, books the spot, and sends a WhatsApp confirmation.
Clinic appointment booking (India)Flow
A Hinglish front-desk assistant for clinics and hospitals in India: understands the reason for the visit, checks real availability, books the appointment, and confirms over WhatsApp.
SaaS demo schedulerFlow
Qualifies B2B SaaS prospects, captures company details into your CRM, and books a live demo on your calendar.
Outbound SDR with objection handlingFlow
A polished outbound prospecting flow — permission, discovery, tailored pitch, and a booked meeting — with a GLOBAL objection handler that fields price, timing, or 'we already have something' at any point and then returns to exactly where it left off.
Recruitment phone screenFlow
Runs a structured first-round phone screen, captures answers and availability, and books the next-round interview for promising candidates.
Hotel reservation deskFlow
Takes room reservations — captures dates, room type and guest count, books the stay, and sends a WhatsApp confirmation.
Car test-drive bookingFlow
Qualifies car-buying interest, captures the lead into your CRM, and books a test drive — turning a curious caller into a showroom visit.
Field service dispatchFlow
Triages home-service calls by severity and routes deterministically: active hazards go straight to an on-call dispatcher, urgent jobs get a same-day booking, and routine jobs are scheduled — every call logged as a ticket.
Financial advisor bookingFlow
Qualifies interest in financial advice (retirement, investing, insurance), captures the lead, and books a consultation with an advisor — no compliance-sensitive advice given on the call.
B2B invoice follow-upFlow
Chases outstanding B2B invoices with accounts-payable contacts, confirms status, and logs the promised payment date to a sheet.
Delivery scheduling & rescheduleFlow
Confirms or reschedules deliveries, captures a preferred time-slot and address note, logs it, and sends a WhatsApp confirmation.
Post-call CSAT survey
A short customer-satisfaction survey: asks for a 1–5 rating and one comment, thanks the customer, and logs the response to a sheet.
NPS follow-up
Runs a Net Promoter Score check — captures the 0–10 score and the 'why', and logs it for the team to review trends.
COD order confirmationFlow
Calls customers to confirm cash-on-delivery orders before dispatch — confirm, change, or cancel by voice or keypad (1/2/3) — slashing return-to-origin losses. Logs every outcome and texts a confirmation.
Failed delivery resolution (NDR)Flow
Resolves failed deliveries by calling the customer to reattempt, reschedule, or cancel — capturing a clean address and slot, logging the outcome, and confirming on WhatsApp to recover the shipment.

Other Productivity integrations

Frequently asked questions

What can an AI voice agent do with Microsoft 365?+

During a live call or chat, a Telenow agent can check calendar availability, book a calendar event, append a row to a table, find rows in a table, update a row in a table, list rows from a table, update many rows in a table, append rows to a table, and send an email (outlook) — each runs as a tool the agent calls mid-conversation, so it acts on Microsoft 365 in real time without a human.

How do you connect Microsoft 365 to Telenow?+

In Telenow, open Integrations, pick Microsoft 365, and you connect Microsoft 365 once with OAuth — no API keys to copy. Then add its productivity tool to your agent (or install a template that already includes it) and you're live.

Which AI agent templates use Microsoft 365?+

Dental clinic receptionist, Appointment reminder & confirmation, Restaurant table reservation, Auto service scheduler, Class & session booking, Clinic appointment booking (India), SaaS demo scheduler, Outbound SDR with objection handling, Recruitment phone screen, Hotel reservation desk, Car test-drive booking, Field service dispatch, Financial advisor booking, B2B invoice follow-up, Delivery scheduling & reschedule, Post-call CSAT survey, NPS follow-up, COD order confirmation, and Failed delivery resolution (NDR) all use Microsoft 365. You can install any of them and connect your Microsoft 365 account in a couple of clicks.

Does Microsoft 365 work on phone calls and WhatsApp?+

Yes. Telenow agents run on phone, web, chat and WhatsApp, and Microsoft 365 works the same across every channel — the agent calls it whenever the conversation needs it.

How much does the Microsoft 365 integration cost?+

Connecting Microsoft 365 is included — you only pay Telenow's transparent per-minute and per-component usage, and new accounts get free signup credit to try it.

$1.00 free credit on signup

Connect Microsoft 365 to your AI voice agent

Sign up free and get $1.00 in credit — no card required. Connect your number, pick a template, and go live in minutes.