• Tools
Tools
  • Tools
loading...
No Results
  • AirDroid Business
    • Index
    • Clear app data and cache
    • Create a group
    • Delete groups
    • Disable lost mode
    • Error codes
    • Enable lost mode
    • Field reference
    • Get average screen time
    • Get account activities
    • Get a group
    • Get a group id by group name
    • Get a device by name
    • Get a device app by name
    • Get an activity log
    • Get all devices
    • Get all device apps
    • Get all devices with filter
    • Get device info push
    • Get device location report
    • Get device network connection history
    • Get device application usage duration
    • Get device application report
    • Get device online status report
    • Get device remote access report
    • Get data usage overview and trends
    • Get tag ids by tag names
    • Get top 10 apps by usage duration
    • Get top 10 data usage apps
    • Lock a device
    • Move devices to a group
    • Open app to foreground
    • Power off a device
    • Reboot device
    • Remote operation
    • Set tags
    • Turn off device screen
    • Unenroll a device
    • Update a device name
    • Update a device remark
    • Update a group name
    • Update a group remark
  • ActiveCampaign
  • Asana
  • AWS-S3
  • AWS Lambda
  • Appstore
  • BambooHR
  • Bitbucket
  • Brevo
  • Coda
  • Code
  • ConvertKit
  • CSV
  • Crypto
  • Clockify
  • Data Shaping
  • Date & Time
  • Delay
  • DingTalk
  • Discourse
  • Discord
  • Dropbox
  • Elastic Security
  • FeiShu
  • Firecrawl
  • Freshdesk
  • Freshservice
  • Freshworks CRM
  • Gerrit
  • Gitlab
  • Github
  • Grafana
  • Google Ads
  • Google Docs
  • Google Drive
  • Google Gmail
  • Google Sheets
  • Google Analytics
  • Google Calendar
  • Google Developer
  • Harvest
  • HaloPSA
  • Hacker News
  • Hubspot
  • Help Scout
  • Intercom
  • Jira
  • Jenkins
  • Kafka
  • Linear
  • Lemlist
  • MySQL
  • monday.com
  • Metabase
  • MailChimp
  • Microsoft Excel
  • Microsoft Teams
  • Microsoft To Do
  • Microsoft OneDrive
  • Microsoft Outlook
  • Microsoft SharePoint
  • Notion
  • Nextcloud
  • Odoo
  • Ortto
  • Okta
  • PayPal
  • Paddle
  • Pipedrive
  • PostHog
  • PostgreSQL
  • OpenAI
  • Qdrant
  • QRCode
  • QuickBooks
  • Redis
  • Strapi
  • Stripe
  • Splunk
  • Shopify
  • SendGrid
  • Segment
  • ServiceNow
  • Search&Crawl
  • Text
  • Trello
  • Twilio
  • Todoist
  • Telegram
  • Webflow
  • Wikipedia
  • WordPress
  • WooCommerce
  • Xml
  • YouTube
  • Zulip
  • Zoom
  • Zendesk
  • Zammad
  • Zoho CRM
Home > Tools

Microsoft Teams

1. Overview

The Microsoft Teams tool in GoInsight allows you to seamlessly integrate Microsoft Teams and Microsoft Planner operations into your automated workflows. By leveraging the Microsoft Graph API, this node enables you to manage communication and task tracking programmatically.

Through this node, you can automate a variety of core tasks, including:

  • Managing Channels: Create, retrieve, update, and delete channels within a specific team.
  • Handling Messages: Send, retrieve, and list messages in both team channels and direct/group chats.
  • Interactive Workflows: Send a chat message and wait for a human response directly within the workflow.
  • Managing Planner Tasks: Create, retrieve, update, and delete tasks in Microsoft Planner to keep projects on track.

2. Prerequisites

Before using the Microsoft Teams node, you need to meet the following requirements:

  • You must have a valid Microsoft 365 / Microsoft Teams account.
  • You need appropriate permissions to access the specific teams, channels, chats, and Planner plans you intend to interact with.
  • For certain actions (like deleting channels or tasks), you may need owner or admin-level privileges within the respective team or plan.

3. Credentials

For detailed instructions on how to obtain and configure credentials, please refer to our official documentation: Credentials Configuration Guide.

4. Supported Operations

Summary

This node primarily operates on four core resources: Channel, Channel Message, Chat Message, and Task.

Resource Operation Description
Channel Create Channel Creates a new channel in a Microsoft Teams team.
Channel Get Channel Retrieves details of a specific channel in a Microsoft Teams team.
Channel Get Many Channels Lists all channels in a Microsoft Teams team.
Channel Update Channel Updates the display name and/or description of a channel in a Microsoft Teams team.
Channel Delete Channel Deletes a channel from a Microsoft Teams team.
Channel Message Create Message Posts a new message to a Microsoft Teams channel.
Channel Message Get Many Messages Retrieves messages from a Microsoft Teams channel, with optional pagination.
Chat Message Create Chat Message Sends a message to a Microsoft Teams chat (direct message or group chat).
Chat Message Get Chat Message Retrieves a specific message from a Microsoft Teams chat by its ID.
Chat Message Get Many Chat Messages Lists messages in a Microsoft Teams chat.
Chat Message Send Message And Wait for Response Sends a message to a Teams chat and waits for a reply within the specified timeout.
Task Create Task Creates a task in Microsoft Planner (used with Teams).
Task Get Task Retrieves the details of a specific Planner task.
Task Get Many Tasks Lists tasks in a Planner plan with pagination support.
Task Update Task Updates a Planner task's title, dates, or completion percentage.
Task Delete Task Deletes a task from Microsoft Planner.

Operation Details

Create Channel

Creates a new channel in a Microsoft Teams team.

When to use:

  • Add a dedicated space for a project, topic, or team within an existing team

Key points:

  • TeamId can be obtained from the team's URL or admin console
  • MembershipType options: "standard" (visible to all team members), "private" (invite-only), "shared" (external users allowed)
  • DisplayName must be unique within the team

Next:

Use the returned ChannelId in Create Message or Get Many Messages actions.

Input Parameters:

  • TeamId: The unique identifier of the Microsoft Teams team. Obtain from the team's URL or admin console. Example: "19:abc123@thread.tacv2"
  • DisplayName: The display name for the new channel. Must be unique within the team (max 50 characters).

Options:

  • Description: The description of the channel.
  • MembershipType: The membership type of the channel. "standard": visible to all team members. "private": invite-only, visible only to members added explicitly. "shared": can include users from outside the team or organization. Defaults to "standard".

Output:

  • ChannelId (string): The unique identifier of the created channel.
  • CreatedDateTime (string): The ISO 8601 timestamp when the channel was created.
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Get Channel

Retrieves details of a specific channel in a Microsoft Teams team.

When to use:

  • Verify channel properties before sending messages or performing updates
  • Retrieve channel metadata for downstream workflow steps

Key points:

  • Both TeamId and ChannelId are required
  • Use Get Many Channels first to list all channels and obtain a ChannelId

Next:

Use the returned ChannelId in Create Message, Update Channel, or Delete Channel actions.

Input Parameters:

  • TeamId: The unique ID of the Microsoft Teams team. Obtain from the team's URL or admin console. Example: "19:abc123@thread.tacv2"
  • ChannelId: The unique ID of the channel to retrieve. Obtain from Get Many Channels. Example: "19:channel456@thread.tacv2"

Output:

  • ChannelId (string): The unique identifier of the channel.
  • DisplayName (string): The display name of the channel.
  • Description (string): The description of the channel.
  • MembershipType (string): The type of channel: "standard", "private", or "shared".
  • CreatedDateTime (string): The ISO 8601 timestamp when the channel was created.
  • OriginalStatusCode (number): The original HTTP status code returned by the Microsoft Graph API. 0 if request did not reach the API.
  • StatusCode (number): Operation status code. -1 for parameter validation error, 200 for request completed (check ErrorMessage for business errors), 500 for network/system errors.
  • ErrorMessage (string): Error details if any, empty string otherwise.

Get Many Channels

Lists all channels in a Microsoft Teams team.

When to use:

  • Discover available channels before sending messages or performing channel operations
  • Find a ChannelId to use in Get Channel, Create Message, Update Channel, or Delete Channel

Key points:

  • Returns all channels in the team in a single call (the channels API does not support $top/$skip pagination)
  • TeamId can be obtained from the team's URL or admin console

Next:

Use the returned ChannelId values in other channel or message actions.

Input Parameters:

  • TeamId: The unique ID of the Microsoft Teams team. Obtain from the team's URL or admin console. Example: "19:abc123@thread.tacv2"

Output:

  • Channels (object-array): A list of channel objects with fields: ChannelId (string): The unique identifier of the channel. DisplayName (string): The display name of the channel. Description (string): The description of the channel. MembershipType (string): The type of channel: "standard", "private", or "shared". CreatedDateTime (string): The ISO 8601 timestamp when the channel was created.
  • HasMore (bool): True if the API indicates more results exist via @odata.nextLink. Note: offset-based Skip is not supported by this API endpoint.
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Update Channel

Updates the display name and/or description of a channel in a Microsoft Teams team.

When to use:

  • Rename a channel or update its description

Key points:

  • At least one of DisplayName or Description must be provided
  • After a successful update, the action fetches the channel via GET and returns the confirmed values from the API
  • The General channel's display name cannot be changed (returns 403)

Error hints:

  • 403: The General channel's display name cannot be changed
  • 404: Channel not found — verify TeamId and ChannelId
  • 401: Access token expired — refresh credentials

Next:

Use the returned ChannelId, DisplayName, and Description to confirm the update succeeded.

Input Parameters:

  • TeamId: The unique ID of the Microsoft Teams team. Obtain from the team's URL or admin console. Example: "19:abc123@thread.tacv2"
  • ChannelId: The unique ID of the channel to update. Obtain from Get Many Channels. Example: "19:channel456@thread.tacv2"

Options:

  • DisplayName: Optional. New display name for the channel. Must be unique within the team. Leave empty to keep unchanged.
  • Description: Optional. New description for the channel. Leave empty to keep unchanged.

Output:

  • ChannelId (string): The unique identifier of the updated channel.
  • DisplayName (string): The updated display name of the channel, as confirmed by the API after the update.
  • Description (string): The updated description of the channel, as confirmed by the API after the update.
  • OriginalStatusCode (number): The original HTTP status code returned by the Microsoft Graph API. 0 if request did not reach the API (local validation error or network error).
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Delete Channel

Deletes a channel from a Microsoft Teams team.

⚠️ WARNING: This action is PERMANENT and CANNOT BE UNDONE. All messages in the channel will be lost.

When to use:

  • Remove an unused or archived channel from a team

Key points:

  • Both TeamId and ChannelId are required
  • The General channel cannot be deleted (returns 400)
  • Use Get Many Channels to find the ChannelId before calling this action

Error hints:

  • 400: Bad request — the General channel cannot be deleted
  • 404: Channel not found or already deleted — verify ChannelId
  • 401: Access token expired — refresh credentials

Next:

Call Get Many Channels to confirm the channel has been removed.

Input Parameters:

  • TeamId: The unique identifier of the Microsoft Teams team. Obtain from the team's URL or admin console. Example: "19:abc123@thread.tacv2"
  • ChannelId: The unique identifier of the channel to delete. Obtain from Get Many Channels. Example: "19:channel456@thread.tacv2"
  • Confirm: Safety gate — must be set to True to confirm deletion. Defaults to False. Channel deletion is permanent and cannot be undone.

Output:

  • Deleted (bool): Indicates whether the channel was successfully deleted.
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Create Message

Posts a new message to a Microsoft Teams channel.

When to use:

  • Send notifications, updates, or alerts to a team channel
  • Post automated reports or summaries to a channel

How to get IDs:

  1. TeamId: Copy from the team's URL in the Teams web app, or find it in your Microsoft Teams admin console. Supports both GUID format and thread format (19:xxx@thread.tacv2).
  2. ChannelId: Call Get Many Channels with the TeamId to list all channels and their IDs.

Key points:

  • Both TeamId and ChannelId are required
  • Content is plain text only (up to 28 KB)

Common errors:

  • "Invalid authentication token": AccessToken has expired, re-authenticate
  • "The channel was not found": Verify ChannelId and that you have access
  • "Forbidden": You don't have permission to post in this channel

Next:

Use the returned MessageId to reference this message in later steps, or call Get Many Messages to list channel messages.

Input Parameters:

  • TeamId: The unique identifier of the Microsoft Teams team that owns the channel. Supports both GUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) and thread format (19:abc@thread.tacv2). Obtain from the team's URL in the Teams web app or your admin console. Example: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  • ChannelId: The unique identifier of the channel where the message is posted. Call Get Many Channels with the TeamId to list all channels and obtain their IDs. Format: "19:channel456@thread.tacv2". Example: "19:channel456@thread.tacv2"
  • Content: The plain-text content of the message to post. Microsoft Teams supports up to 28 KB per message. Rich formatting (HTML/Markdown) is not applied by this action — use plain text only. Example: "Hello team! Deployment complete."

Output:

  • MessageId (string): The unique identifier (numeric string) of the created message. Use this ID to reference the message in subsequent operations. Example: "1614860000000"
  • CreatedDateTime (string): The ISO 8601 UTC timestamp when the message was created (always ends with 'Z'). Example: "2026-03-01T10:00:00.000Z"
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Get Many Messages

Retrieves messages from a Microsoft Teams channel, with optional pagination.

When to use:

  • Review recent activity in a channel
  • Find a specific message's ID for downstream processing

Key points:

  • Both TeamId and ChannelId are required
  • Returns messages in pages; use Top to control page size and Skip to paginate
  • Check HasMore; if true, call again with NextSkip to get the next page
  • Each message includes the sender's user ID and display name
  • Use Get Many Channels to find the ChannelId

Next:

Use the returned MessageId values to reference specific messages in downstream steps.

Input Parameters:

  • TeamId: The unique ID of the Microsoft Teams team. Obtain from the team's URL or admin console. Example: "19:abc123@thread.tacv2"
  • ChannelId: The unique ID of the channel to retrieve messages from. Obtain from Get Many Channels. Example: "19:channel456@thread.tacv2"

Options:

  • Top: Maximum number of messages to return per page (1–50). Default: 20.
  • Skip: Number of messages to skip for pagination. Default: 0 (first page). Use NextSkip from the previous response to get the next page.

Output:

  • Messages (object-array): A list of message objects with fields: MessageId (string): The unique identifier of the message. BodyContent (string): The content of the message body. CreatedDateTime (string): The ISO 8601 timestamp when the message was created. FromUserId (string): The unique identifier of the user who sent the message. FromDisplayName (string): The display name of the user who sent the message.
  • HasMore (bool): True if more messages exist beyond this page. Call again with NextSkip to retrieve the next page.
  • NextSkip (number): The Skip value to use in the next call to retrieve the next page of results.
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Create Chat Message

Sends a message to a Microsoft Teams chat (direct message or group chat).

When to use:

  • Send a direct message or group chat message to one or more users
  • Deliver automated notifications directly to individuals rather than a channel

Key points:

  • ChatId can be found in the Teams app URL when viewing a chat, or from the Microsoft Graph API chat listing
  • Content supports plain text

Next:

Use the returned MessageId to track this message, or call Send Message And Wait For Response to wait for a reply.

Input Parameters:

  • ChatId: The unique identifier of the Microsoft Teams chat. Obtain from the Teams app URL when viewing the chat, or from the Microsoft Graph API. Example: "19:2da4c29f6d7041eca70b638b43d45437@thread.v2"
  • Content: The text content of the chat message.

Output:

  • MessageId (string): The unique identifier of the created chat message.
  • CreatedDateTime (string): The ISO 8601 timestamp when the message was created.
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Get Chat Message

Retrieves a specific message from a Microsoft Teams chat by its ID.

When to use:

  • Fetch the content of a known chat message for downstream processing
  • Verify a message was sent correctly

Key points:

  • Both ChatId and MessageId are required
  • Use Get Many Chat Messages to list messages and find the MessageId

Next:

Use the returned BodyContent or sender details in downstream workflow steps.

Input Parameters:

  • ChatId: The unique ID of the chat. Obtain from the Teams app URL or Microsoft Graph API. Example: "19:2da4c29f6d7041eca70b638b43d45437@thread.v2"
  • MessageId: The unique ID of the message to retrieve. Obtain from Create Chat Message or Get Many Chat Messages. Example: "1614860000000"

Output:

  • MessageId (string): The unique ID of the message.
  • BodyContent (string): The text content of the message body.
  • CreatedDateTime (string): ISO 8601 timestamp when the message was created.
  • FromUserId (string): The user ID of the message sender.
  • FromDisplayName (string): The display name of the message sender.
  • OriginalStatusCode (number): The original HTTP status code returned by the Microsoft Graph API. 0 if request did not reach the API.
  • StatusCode (number): Operation status code. -1 for parameter validation error, 200 for request completed (check ErrorMessage for business errors), 500 for network/system errors.
  • ErrorMessage (string): Error details if any, empty string otherwise.

Get Many Chat Messages

Lists messages in a Microsoft Teams chat.

When to use:

  • Review recent messages in a direct message or group chat
  • Find a MessageId for use in Get Chat Message or other downstream steps

Key points:

  • ChatId can be found in the Teams app URL when viewing a chat, or from the Microsoft Graph API
  • The chat messages API does not support offset-based pagination ($skip); use Top to control how many messages to retrieve
  • Returns the most recent messages up to the Top limit

Next:

Use the returned MessageId values in Get Chat Message or reference message content in downstream workflow steps.

Input Parameters:

  • ChatId: The unique ID of the chat. Obtain from the Teams app URL or Microsoft Graph API. Example: "19:2da4c29f6d7041eca70b638b43d45437@thread.v2"

Options:

  • Top: Maximum number of messages to return (1–50). Default: 20. Note: $skip is not supported by this API endpoint.

Output:

  • Messages (object-array): A list of message objects with fields: MessageId (string): The unique identifier of the chat message. BodyContent (string): The content of the message body. CreatedDateTime (string): The ISO 8601 timestamp when the message was created. FromUserId (string): The unique identifier of the user who sent the message. FromDisplayName (string): The display name of the user who sent the message.
  • HasMore (bool): True if the API indicates more messages exist via @odata.nextLink. Note: offset-based Skip is not supported by this API endpoint.
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Send Message And Wait for Response

Sends a message to a Teams chat and waits for a reply within the specified timeout.

When to use:

  • Interactive workflows that require human approval or input before proceeding
  • Approval gates, confirmation prompts, or data collection via chat

Key points:

  • Always returns StatusCode=200 after the wait loop completes; check ErrorMessage to distinguish reply received vs timeout
  • Only the first reply to the sent message is captured; subsequent replies are ignored
  • TimeoutSeconds defaults to 30 if omitted; PollingIntervalSeconds defaults to 5 (recommended minimum to avoid rate limiting)
  • ChatId can be found in the Teams app URL or from the Microsoft Graph API
  • The action polls for newer messages in the same chat instead of scanning the full chat history
  • The first newer message that is not the sent message itself is treated as the response

Next:

Check ErrorMessage: if empty, use ResponseMessage for the human's reply; if it is "No response within timeout.", handle the timeout explicitly.

Input Parameters:

  • ChatId: The unique identifier of the Microsoft Teams chat. Find it in the Teams app URL when viewing the chat (looks like '19:xxx@thread.v2'), or from the Microsoft Graph API. Example: "19:2da4c29f6d7041eca70b638b43d45437@thread.v2"
  • Message: The content of the message to send.

Options:

  • TimeoutSeconds: The maximum time in seconds to wait for a reply. When the timeout is reached, the action returns StatusCode=200 and ErrorMessage="No response within timeout."
  • PollingIntervalSeconds: How often (in seconds) to check for a reply while waiting. Lower values detect replies faster but make more API calls. Recommended minimum: 5 seconds to avoid rate limiting. Default: 5.

Output:

  • MessageId (string): The unique identifier of the sent message.
  • ResponseMessageId (string): The unique identifier of the reply message received. Empty string if timed out or no reply was received.
  • ResponseMessage (string): The plain-text content of the reply message. Empty string if timed out or no reply was received.
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=execution completed (including timeout-without-reply cases; check ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Empty string means a reply was received successfully. "No response within timeout." means the message was sent but no reply was observed before the waiting window ended. Other non-empty values indicate failures.

Create Task

Creates a task in Microsoft Planner (used with Teams).

When to use:

  • Programmatically add tasks to a Planner plan from a workflow
  • Create follow-up tasks based on Teams conversations or other triggers

Key points:

  • PlanId is the ID of the Planner plan; BucketId is the ID of the bucket (column/section) within the plan
  • Both PlanId and BucketId can be found in the Planner app URL or via the Microsoft Graph API
  • Title is the only required field; DueDateTime, AssignedToUserId, Priority, and PercentComplete are optional

⚠️ No duplicate check:

  • This action does NOT check for duplicate tasks. If the request times out and Agent retries, multiple tasks with the same title may be created.
  • Recommendation: Use Get Many Tasks first to verify before creating.

Next:

Use the returned TaskId in Get Task, Update Task, or Delete Task actions.

Input Parameters:

  • PlanId: The unique ID of the Planner plan in which to create the task. Obtain from the Planner app URL or Microsoft Graph API. Example: "plan-id-123"
  • BucketId: The unique ID of the bucket (column/section) within the plan. Obtain from the Planner app or Microsoft Graph API. Example: "bucket-id-456"
  • Title: The title of the new task. Example: "Review quarterly report"

Options:

  • DueDateTime: Task due date and time in ISO 8601 UTC format. Example: "2026-03-15T17:00:00Z". Leave empty if no due date.
  • AssignedToUserId: The Azure AD user ID to assign this task to. Obtain from Microsoft Graph API (e.g., via Get User). Leave empty to create an unassigned task. Example: "user-id-abc123"
  • Priority: Task priority on a 0-10 scale: 0=Urgent, 1=Important, 5=Medium (default), 9=Low. Leave empty to use Planner default.
  • PercentComplete: Initial completion percentage (0-100). Default is 0 (not started). Example: 0

Output:

  • TaskId (string): The unique identifier of the created task.
  • CreatedDateTime (string): The ISO 8601 timestamp when the task was created.
  • OriginalStatusCode (number): The original HTTP status code returned by the Microsoft Graph API. 0 if request did not reach the API (local validation error or network error).
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Get Task

Retrieves the details of a specific Planner task.

When to use:

  • Fetch current task state before updating or deleting
  • Check task progress or retrieve the ETag needed for Update Task or Delete Task

Key points:

  • Use the TaskId returned from Create Task or Get Many Tasks
  • PercentComplete indicates task progress: 0 = not started, 50 = in progress, 100 = complete
  • The ETag returned (OriginalETag) is required for Update Task and Delete Task

Next:

Use PercentComplete and other fields in downstream steps, or pass OriginalETag as the ETag input to Update Task or Delete Task.

Input Parameters:

  • TaskId: The unique ID of the task to retrieve. Obtain from Create Task or Get Many Tasks. Example: "task-id-789"

Output:

  • TaskId (string): The unique ID of the task.
  • Title (string): The title of the task.
  • PlanId (string): The ID of the Planner plan containing this task. Use with plan-related APIs to retrieve plan metadata or list other tasks in the same plan.
  • BucketId (string): The ID of the bucket (section) within the plan. Use to identify the task column or to filter tasks when listing tasks in the plan.
  • CreatedDateTime (string): ISO 8601 timestamp when the task was created.
  • StartDateTime (string): ISO 8601 timestamp for the task start date. Empty string if not set.
  • DueDateTime (string): ISO 8601 timestamp for the task due date. Empty string if not set.
  • PercentComplete (number): Task completion percentage. 0 = not started, 50 = in progress, 100 = complete.
  • OriginalETag (string): The ETag (HTTP version identifier) required for Update Task and Delete Task. Microsoft Graph uses ETags to prevent concurrent modification conflicts. Always fetch the latest ETag before updating or deleting. Pass this value as the If-Match header (ETag input) on those actions.
  • OriginalStatusCode (number): The original HTTP status code returned by the Microsoft Graph API. 0 if request did not reach the API.
  • StatusCode (number): Operation status code. -1 for parameter validation error, 200 for request completed (check ErrorMessage for business errors), 500 for network/system errors.
  • ErrorMessage (string): Error details if any, empty string otherwise.

Get Many Tasks

Lists tasks in a Planner plan with pagination support.

When to use:

  • Review tasks in a plan across all buckets (buckets are columns/groups for organizing tasks, like Kanban board columns)
  • Find a TaskId to use in Get Task, Update Task, or Delete Task

Key points:

  • PlanId: In the Planner URL (e.g., https://tasks.office.com/.../planId=xqQg5FS2LkCp935s-FIFm2QAFkHM), the PlanId is the value after 'planId='
  • Use Top (default 100) and Skip (default 0) for pagination. Check HasMore and use NextSkip for the next page
  • PercentComplete: 0 = not started, 50 = in progress, 100 = complete

Next:

Use the returned TaskId values in Get Task, Update Task, or Delete Task actions.

Input Parameters:

  • PlanId: The unique identifier of the Planner plan. In the Planner URL (e.g., https://tasks.office.com/.../planId=xqQg5FS2LkCp935s-FIFm2QAFkHM), the PlanId is the value after 'planId='. Also available via Microsoft Graph API (GET /groups/{group-id}/planner/plans). Example: "xqQg5FS2LkCp935s-FIFm2QAFkHM"

Options:

  • Top: Maximum number of tasks to return per request. Default: 100. Use this to control response size and avoid token overflow when a plan has many tasks.
  • Skip: Number of tasks to skip (for pagination). Default: 0. To get the second page with Top=100, set Skip=100. Use the NextSkip output value for the next page.

Output:

  • Tasks (object-array): A list of task objects for the current page. Each object contains: TaskId (string): The unique identifier of the Planner task. Title (string): The title of the task. PlanId (string): The unique identifier of the Planner plan. BucketId (string): The ID of the bucket (column/group used to organize tasks, similar to a Kanban board column) the task belongs to. CreatedDateTime (string): The ISO 8601 UTC timestamp when the task was created. StartDateTime (string): The ISO 8601 UTC timestamp when the task starts, empty string if not set. DueDateTime (string): The ISO 8601 UTC timestamp when the task is due, empty string if not set. PercentComplete (number): Task completion percentage (0-100; common values: 0=not started, 50=in progress, 100=complete).
  • HasMore (bool): True if there are more tasks beyond the current page (i.e., a next page exists). Use Skip=NextSkip to fetch the next page.
  • NextSkip (number): The Skip value to use for the next page request (equals Skip + number of tasks returned). Only meaningful when HasMore is true.
  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Update Task

Updates a Planner task's title, dates, or completion percentage.

When to use:

  • Mark a task as in-progress or complete
  • Update the task title, start date, or due date

Key points:

  • Both TaskId and ETag are required; ETag is needed for optimistic concurrency — get it from Get Task (OriginalETag output)
  • At least one of Title, StartDateTime, DueDateTime, or PercentComplete should be provided and differ from current values
  • PercentComplete: 0 = not started, 50 = in progress, 100 = complete
  • DateTime fields must be in ISO 8601 format (e.g., "2026-04-15T00:00:00.000Z")
  • Returns the updated task details after patching

Update strategy:

  • Uses Microsoft Graph PATCH (partial update): only fields you send in the request are changed
  • Omitted or empty optional fields leave the existing server values unchanged

Next:

Call Get Task to verify the updated values, or use the returned fields in downstream steps.

Input Parameters:

  • TaskId: The unique identifier of the Planner task to update. Obtain from Create Task or Get Many Tasks. Example: "task-id-789"
  • ETag: The task version tag for optimistic concurrency control (If-Match). Obtain the value from Get Task (OriginalETag output) or from Get Many Tasks when available. If another user changed the task since your last read, the update fails with 412 — call Get Task again and retry with the new ETag. Example: "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\""

Options:

  • Title: Optional. New title for the task. If omitted or empty, the current title is unchanged. Example: "Review quarterly report (updated)"
  • StartDateTime: Optional. New start time in ISO 8601 format. If omitted or empty, the current start time is unchanged. Example: "2026-03-10T00:00:00.000Z"
  • DueDateTime: Optional. New due time in ISO 8601 format. If omitted or empty, the current due time is unchanged. Example: "2026-04-15T00:00:00.000Z"
  • PercentComplete: Optional. Task completion percentage (0-100). Common values: 0=Not started, 50=In progress, 100=Completed. Any integer 0-100 is valid. Omit to leave unchanged; pass 0 to reset to Not Started.

Output:

  • TaskId (string): The unique identifier of the updated Planner task. Use for subsequent Get Task or Delete Task calls.
  • Title (string): The title of the task.
  • PlanId (string): The ID of the Planner plan containing this task. Use with plan-related APIs to retrieve plan metadata or list other tasks in the same plan.
  • BucketId (string): The ID of the bucket (section) within the plan. Use to identify the task column or to filter tasks when listing tasks in the plan.
  • CreatedDateTime (string): The ISO 8601 timestamp when the task was created.
  • StartDateTime (string): The ISO 8601 timestamp when the task starts.
  • DueDateTime (string): The ISO 8601 timestamp when the task is due.
  • PercentComplete (number): The percent completion of the task.
  • OriginalStatusCode (number): Diagnostic HTTP status from the last Graph call. After a successful PATCH, this is the follow-up GET status (typically 200). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

Delete Task

Deletes a task from Microsoft Planner.

⚠️ WARNING: This action is PERMANENT and CANNOT BE UNDONE.

When to use:

  • Remove a completed or cancelled task from a Planner plan

Key points:

  • TaskId, ETag, and Confirm=true are all required
  • ETag is required for concurrency control — obtain it from Get Task
  • Get the TaskId from Create Task or Get Many Tasks
  • Confirm must be explicitly set to true as a safety gate against accidental deletion

Error hints:

  • 404: Task not found or already deleted — verify TaskId
  • 412: ETag mismatch — call Get Task again to obtain the latest ETag
  • 401: Access token expired — refresh credentials

Next:

Call Get Many Tasks to confirm the task has been removed.

Input Parameters:

  • TaskId: The unique ID of the task to delete. Obtain from Create Task or Get Many Tasks. Example: "task-id-789"
  • ETag: The version identifier (ETag) of the task, required by Microsoft Graph API to prevent concurrent modification conflicts. Obtain from Get Task. Example: "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\""
  • Confirm: ⚠️ Safety gate: Must be set to true to confirm deletion. This action is PERMANENT and CANNOT BE UNDONE.

Output:

  • OriginalStatusCode (number): Upstream HTTP status code (diagnostic-only; do not use to infer success/failure). 0 means no upstream HTTP response was received.
  • StatusCode (number): Tool-level status code. 200=upstream request completed and response parsed (success depends on ErrorMessage), -1=local parameter validation error (do not retry), 500=local system/network/timeout error (may retry).
  • ErrorMessage (string): Primary success/failure signal. Empty string means SUCCESS; non-empty means FAILURE (contains reason and a recovery hint where applicable).

5. Example Usage

This section will guide you through creating a simple workflow to post a new automated message to a specific Microsoft Teams channel.

Workflow Overview: Start -> Microsoft Teams -> Answer

Step-by-Step Guide:

  1. Add the Tool Node:
    • In the workflow canvas, click the "+" icon to add a new node.
    • Select the "Tools" tab in the pop-up panel.
    • Find and select Microsoft Teams from the list of available tools.
    • From the supported operations list, click on Create Message to add the node to your canvas.
  2. Configure the Node:
    • Click on the newly added Create Message node to open its configuration panel on the right.
    • Credentials: At the top of the panel, select your pre-configured Microsoft Teams credentials from the dropdown menu.
    • Parameter Configuration: Fill in the required input parameters:
    • TeamId: Enter the unique identifier of your team (e.g., 19:abc@thread.tacv2 or a GUID). You can find this in the team's URL.
    • ChannelId: Enter the unique identifier of the channel where you want the message to appear. If you don't know it, you can use the Get Many Channels action first to find it.
    • Content: Enter the plain-text message you want to post. For example: "Hello team! The daily automated report has been generated successfully."
  3. Run and Verify:
    • Once all required parameters are filled, any error indicators on the node will disappear.
    • Click the "Test Run" button in the top right corner of the canvas to execute the workflow.
    • Upon successful execution, you can click the log icon to view the detailed input and output, verifying that the message was successfully posted to your Teams channel.

After completing these steps, your workflow is fully configured. Clicking "Test Run" will instantly deliver your automated message to the specified Microsoft Teams channel.

6. FAQs

Q: Why am I receiving a "401 Unauthorized" or "Invalid authentication token" error?

A: Please check the following:

  • Token Expiration: Your Microsoft Graph API access token may have expired. You need to re-authenticate or refresh your credentials in the GoInsight credential manager.
  • Permissions: Ensure your registered application has the correct delegated or application permissions (e.g., ChannelMessage.Send, Group.ReadWrite.All) granted in the Azure portal.

Q: Why am I getting a "404 Not Found" error when trying to post a message or update a channel?

A: Please check the following:

  • Incorrect IDs: Verify that both the TeamId and ChannelId are exactly correct. A typo in either will result in a 404 error.
  • Access Rights: Ensure the authenticated user actually has access to the specified team and channel.

Q: I am trying to update or delete a Planner task, but I keep getting a "412 Precondition Failed" error. What does this mean?

A: Please check the following:

  • ETag Mismatch: Microsoft Graph uses ETags for optimistic concurrency control. This error means the task was modified by someone else since you last read it.
  • Solution: You must call the Get Task action immediately before your update/delete action to fetch the latest OriginalETag, and pass that exact value into the ETag input field of your Update/Delete node.

7. Official Documentation

For more advanced configurations and deep dives into the API capabilities, please refer to the official documentation:

Microsoft Teams Official API Documentation

Updated on: Apr 14, 2026
Was This Page Helpful?
Prev Microsoft Excel
Next Microsoft To Do
Discussion

Leave a Reply. Cancel reply

Your email address will not be published. Required fields are marked*

Product-related questions?Contact Our Support Team to Get a Quick Solution>
On this page
  • 1. Overview
  • 2. Prerequisites
  • 3. Credentials
  • 4. Supported Operations
    • Summary
    • Operation Details
  • 5. Example Usage
  • 6. FAQs
  • 7. Official Documentation
loading...
No Results