Create Interaction
webinarstack.webinars.interactions_createCreate a new poll or CTA offer on a tenant-owned webinar. Call interactions_find_matching BEFORE creating to avoid duplicate interactions at the same timeline position that would confuse live attendees seeing two competing polls or CTAs. Accepts a flat input with type discriminator (cta|poll) + base fields + type-specific optional fields. The service layer enforces type-discriminated validation — a cta payload carrying poll-only fields (e.g. options) returns VALIDATION_ERROR; a cross-tenant webinarId returns NOT_FOUND.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"webinarId": "<webinarId>",
"type": "<type>",
"appearsAtSeconds": "<appearsAtSeconds>",
"endsAtSeconds": "<endsAtSeconds>",
"headline": "<headline>"
},
"name": "webinarstack.webinars.interactions_create"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | ||
| options | No | ||
| headline | Yes | ||
| iconName | No | ||
| imageUrl | No | ||
| timeline | No | ||
| buttonUrl | No | ||
| webinarId | Yes | ||
| choiceMode | No | single | |
| buttonColor | No | ||
| buttonLabel | No | ||
| description | No | ||
| optionSpecs | No | ||
| internalName | No | ||
| countdownMode | No | ||
| endsAtSeconds | Yes | ||
| buttonTextColor | No | ||
| appearsAtSeconds | Yes | ||
| countdownSeconds | No | ||
| aggregateMinVotes | No | ||
| resultsDisplayMode | No | session | |
| customAggregatePercentages | No |