monday.com Form Intake to Board
When a Microsoft Form (or email) is submitted, the flow creates an item on the right monday.com board with column values mapped from the answers, uploads attachments, assigns an owner, and emails the requester a confirmation with the item link. Turns inbound requests into structured monday.com work.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow turns inbound Microsoft Form requests into structured monday.com board items. When a new form response is submitted, the flow reads the answers, creates a board item (with mapped column values) in the target group, builds a link to the new item, and emails the requester a confirmation. It ships Off as a portable demo — going live requires only authorizing the three connections and setting the environment-variable values.
Why it matters: Requests that arrive by form or email get lost; structured board items are trackable and assignable. Automating intake removes manual re-entry and speeds first response.
Status: Built · Flow Checker 0 errors / 0 warnings · State = Off (demo)
Use Case
A team that runs its work on monday.com wants form-based requests captured as board items automatically, with the requester acknowledged immediately and a deep link back to the created item.
Flow Architecture
When a new response is submitted
Forms CreateFormWebhook (OpenApiConnectionNotification)Fires on a new response to the configured form.
Initialize config variables
Initialize Variable (String)Bind varFormId / varBoardId / varGroupId / varColumnValues / varToolName / varAccountSlug / varFallbackEmail from environment variables.
Get response details
Forms GetFormResponseByIdRead the submitted answers + responder email.
Compose RequesterEmail
ComposeResponder email, or fallback if none collected.
Compose ItemName
ComposeBuild the monday.com item title.
Build GraphQL Mutation
ComposeAssemble the create_item GraphQL string (escaped column_values).
Init Session
monday.com InvokeMondayMCP (initialize)Open an MCP session, capture Mcp-Session-Id.
Create Item
monday.com InvokeMondayMCP (tools/call -> all_monday_api)Run the GraphQL mutation to create the board item.
Compose ItemId
ComposeParse the new item id from the GraphQL response.
Compose ItemUrl
ComposeBuild the item deep link.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_FormID | String | (form id) | Source Microsoft Form (reused). |
| flowlibs_MondayBoardId | String | (board id) | Destination monday.com board (reused). |
| flowlibs_MondayGroupId | String | topics | Target group on the board (new). |
| flowlibs_MondayColumnValuesJson | String | {} | JSON column_values mapping answers -> board columns (new). |
| flowlibs_MondayMcpToolName | String | all_monday_api | monday.com MCP tool name (reused). |
| flowlibs_MondayAccountSlug | String | your-account | Account subdomain for the item link (new). |
| flowlibs_FallbackRequesterEmail | String | intake@flowlibs.local | Confirmation email when the response has no responder (new). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Microsoft Forms | shared_microsoftforms | CreateFormWebhook GetFormResponseById |
| monday.com | shared_mondaycom | InvokeMondayMCP |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Map answers to columns
- Set flowlibs_MondayColumnValuesJson to a monday column_values object (e.g. {"status":{"label":"New"},"text":"..."}). To map specific answers, reference the form answer fields from Get response details inside Build GraphQL Mutation.
- Item title
- Edit Compose ItemName to use a specific answer (e.g. a Subject question) instead of the responder + timestamp.
- Routing
- Drive flowlibs_MondayBoardId / flowlibs_MondayGroupId from a request-type answer to route different requests to different boards or groups.
- Attachments
- The MCP connector does not expose a file-upload op; to upload form attachments to a file column, add an HTTP step to the monday.com /v2/file endpoint (multipart) as a follow-on.
- Owner / SLA
- Add a people column id and a date column id to the column-values payload to auto-assign an owner or due date.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Response id (trigger)
Reads the responseId from the form webhook trigger.
EXPR.02Requester email
Responder email, or the configured fallback.
EXPR.03GraphQL mutation
Assembles the create_item mutation with escaped column_values.
EXPR.04MCP session id
Captures the MCP session id from the initialize response.
EXPR.05New item id
Parses the created item id from the GraphQL response.
EXPR.06Item URL
Builds the deep link to the new monday.com item.
Customize & download
Generate a ready-to-import copy of this solution with your environment-variable values baked in — available on Base, Pro, or Team.
Upgrade to customize
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.