discord / trigger / schema v1
Discord: Modal Submitted
Trigger when a user submits a modal (form). Read its fields and reply to the submission
Prerequisites
- Add the discord plugin inside this workflow.
- Connect and authorize a discord account before running this node.
Parameters
| Parameter | Type | Description |
|---|---|---|
ServerguildId | discord_guild Required | |
Which formmodalId | tags Optional | Pick the form this answers. The one your "Open a Form" step creates. Leave empty to answer every form. |
Inputs and outputs
Inputs
No ports declared.
Outputs
on_modal_submit- On Submit (output)interaction_id- Interaction ID (output)custom_id- Modal ID (output)fields- Answers (output)user_id- User ID (output)username- Username (output)user_avatar- User Avatar URL (output)channel_id- Channel ID (output)guild_id- Server ID (output)member_roles- Member role IDs (output)interaction_token- Reply pass (output)timestamp- Timestamp (output)
Output data schema
[
{
"key": "interaction_id",
"type": "snowflake",
"label": "Interaction ID",
"bindingRole": "current_context"
},
{
"key": "custom_id",
"type": "string",
"label": "Modal ID"
},
{
"key": "fields",
"type": "object",
"label": "Answers",
"description": "Submitted values keyed by input custom_id. Also flattened to {{field_<custom_id>}}.",
"bindingRole": "command_argument"
},
{
"key": "user_id",
"type": "user",
"label": "User ID",
"bindingRole": "actor"
},
{
"key": "username",
"type": "string",
"label": "Username",
"bindingRole": "actor"
},
{
"key": "user_avatar",
"type": "url",
"label": "User Avatar URL"
},
{
"key": "channel_id",
"type": "channel",
"label": "Channel ID",
"bindingRole": "current_context"
},
{
"key": "guild_id",
"type": "guild",
"label": "Server ID",
"bindingRole": "current_context"
},
{
"key": "member_roles",
"type": "array",
"label": "Member role IDs",
"items": {
"key": "role_id",
"type": "snowflake",
"bindingRole": "actor"
},
"bindingRole": "actor"
},
{
"key": "interaction_token",
"type": "string",
"label": "Reply pass",
"description": "Used automatically when you reply to this. You normally never need to insert it yourself.",
"bindingRole": "current_context"
},
{
"key": "timestamp",
"type": "timestamp",
"label": "Timestamp"
}
]Examples and troubleshooting have not yet been reviewed for this contract.
Version and compatibility
This reference follows the current authoring contract. Existing workflows retain their saved node revisions.
Contract identifier
e60693b40e6ea1a7d631cb2201539eb2341109a97031f25030a877cff20533fe