This is the complete list of what your AI tool can do in FullHouse. You don’t need to learn these names, because your AI tool chooses them from what you ask. Use this page to check whether something is possible, what the limits are, or why a request failed.
For ready-made requests, see What it can do.
How to read this page
FullHouse offers 57 tools. It has no separate MCP resources or prompt templates. Your AI tool also receives a short briefing when it connects, covering what FullHouse is and which tools to start with. It also says that changes apply immediately, so deletions and anything attendees will see should be confirmed with you first.
Each tool is one of these types:
| Type | What it does | Connection needed | Tools |
|---|---|---|---|
| Read | Looks things up and changes nothing | Read only or Full access | 19 |
| Change | Changes something. Doing it twice has the same result as once. | Full access | 17 |
| Add | Adds something new each time, or sends something | Full access | 10 |
| Remove | Removes or cancels something | Full access | 11 |
Reaches outside FullHouse means the tool sends an email or contacts another address. AI tools often treat these with extra care when asking for your approval.
Common rules
- IDs: most inputs are whole numbers from another tool.
webinar_idcomes fromlist_webinars. A wrong ID returns “Not found in this workspace. Check the id (list tools show valid ones).” - Partial changes: tools that update something generally keep whatever you leave out, unless noted.
- Lists in pages: long lists come back in pages.
limitsets the page size, andcursortakes thenext_cursorvalue from the previous page. - Times: times are in UTC unless a field says otherwise. Timeline times are seconds into the video.
- Web addresses: fields that take an image or link address generally need
httpsand up to 500 characters. The exceptions are noted below. - Errors: validation problems name the field and the fix, such as
replay.delay_minutes, so your AI tool can usually correct them itself.
Overview
get_account
Read. Shows the workspace this connection manages: name and branding, plan and usage (storage and daily email allowance), email sender status, public page address, and counts of webinars, published webinars, challenges and registrants. No inputs.
get_dashboard
Read. Shows workspace-wide results for a period: page visits, registrations, show-ups and offer clicks compared with the previous period, people watching now, each webinar’s headline numbers, and sessions live now or coming up.
| Input | Required | Limits and notes |
|---|---|---|
period |
No | 7, 30 or 90 days. Default 30. |
search
Read. Searches webinars and challenges by name or title, and registrants by name or email. Returns up to 10 webinars, 10 challenges and 20 registrants, with IDs to pass to fetch or other tools.
| Input | Required | Limits and notes |
|---|---|---|
query |
Yes | 1 to 200 characters |
fetch
Read. Gets the full details of one search result.
| Input | Required | Limits and notes |
|---|---|---|
id |
Yes | An ID from search, such as webinar:12, challenge:3 or registrant:45 |
Webinars
See Webinars for what each setting does.
list_webinars
Read. Lists webinars, newest first, with status, registrant counts and whether the video is ready. Challenge days are included and marked.
| Input | Required | Limits and notes |
|---|---|---|
status |
No | draft, published or paused |
query |
No | Filters by name or title |
limit |
No | 1 to 100. Default 50. |
cursor |
No | From the previous page |
get_webinar
Read. Shows everything about one webinar: details, registration page, thank-you page, room, replay and AI settings, schedules, the next four session times, video status and checks, email subjects and on/off state, timeline counts, number of automations, registrants, open questions, people watching now, what blocks publishing, and its public and editor links. For tracking code, it shows only whether any is set.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes |
create_webinar
Add. Creates a draft webinar with a default registration page, room and emails. Returns the same details as get_webinar.
| Input | Required | Limits and notes |
|---|---|---|
name |
Yes | Up to 120 characters. Internal name, and the starting public title. |
title |
No | Up to 160 characters |
description |
No | Up to 5,000 characters |
presenter_name |
No | Up to 100 characters |
presenter_title |
No | Up to 120 characters |
timezone |
No | A time zone name such as Europe/London. Setting this shows times in that zone instead of each visitor’s own. |
update_webinar
Change. Changes a webinar’s settings. Pass webinar_id (required) plus at least one of the groups below, including only the fields that change. Returns the same details as get_webinar.
details (Details)
| Field | Limits and notes |
|---|---|
name |
Required value, up to 120 characters |
title |
Required value, up to 160 characters |
slug |
Required value, up to 80 characters. The public address. Letters, numbers, hyphens and underscores only. Must be unique, or you’ll see “This address is already in use.” Old links keep working and redirect to the new address. |
description |
Up to 5,000 characters |
presenter_name |
Up to 100 characters |
presenter_title |
Up to 120 characters |
presenter_avatar_url |
Image address. A file from Media works. |
timezone_mode |
visitor or fixed |
timezone |
A valid time zone name |
registration (Registration page)
| Field | Limits and notes |
|---|---|
eyebrow |
Up to 40 characters |
headline |
Up to 200 characters |
subheadline |
Up to 400 characters |
bullets |
Up to 8, each up to 200 characters |
cta_label |
Required value, up to 60 characters |
fields |
first_name, last_name and phone, each required, optional or off |
consent_enabled |
True or false |
consent_text |
Up to 500 characters |
show_countdown |
True or false |
options_shown |
1 to 6 |
questions |
Up to 5. The whole list is replaced when you change it. Each has id (lowercase letters, numbers and underscores, starting with a letter, unique, up to 50 characters), label (up to 200 characters), type (text or select), required and options (up to 10, each up to 120 characters; a select needs at least 2 different options). |
thank_you (Thank-you page)
| Field | Limits and notes |
|---|---|
message |
Up to 1,000 characters |
show_calendar |
True or false |
redirect_url |
https address. Can include {{email}} and {{join_link}}. |
room (Waiting room, Live chat)
| Field | Limits and notes |
|---|---|
attendee_counter |
enabled, base (0 to 100,000) and peak (0 to 1,000,000) |
allow_questions |
True or false |
chat_label |
Required value, up to 40 characters |
chat_mode |
private or live |
simulated_chat |
True or false |
transparency_note |
True or false |
exit_redirect_url |
https address |
waiting_note |
Up to 280 characters |
replay (Replay)
| Field | Limits and notes |
|---|---|
enabled |
True or false |
delay_minutes |
0 to 10,080 |
expiry_mode |
none, hours_after_session or fixed |
expiry_hours |
1 to 8,760 |
expiry_at |
A date and time. Required when expiry_mode is fixed. With a UTC offset it’s kept as that moment. Without one, it means the webinar’s timezone. |
locked_controls |
True or false |
show_chat |
True or false |
ai (AI answers)
| Field | Limits and notes |
|---|---|
ai_enabled |
True or false |
ai_context |
Up to 250,000 characters |
ai_offer_context |
Up to 250,000 characters |
tracking (Tracking)
| Field | Limits and notes |
|---|---|
head |
Raw HTML for pixels, up to 10,000 characters |
body |
Raw HTML for pixels, up to 10,000 characters |
publish_webinar
Change. Opens registration. Returns the status and registration link. If anything is missing, it replies “Can’t publish yet:” followed by what’s needed:
- “Add a video source that passes validation (with a known duration) before publishing.”
- “Add at least one schedule before publishing.”
- “Publish this day from its challenge so registration stays connected to the challenge hub.”
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes |
pause_webinar
Change. Closes registration. Existing registrants keep their links.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes |
duplicate_webinar
Add. Copies a webinar as a new draft, named with “(copy)” at the end. It includes settings, video, schedules, timeline and emails, but not registrants.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes |
delete_webinar
Remove. Permanently deletes a webinar with all its registrants, sessions and stats. This can’t be undone. An uploaded video stays in Media until you delete it with delete_media. A challenge day can’t be deleted this way: “This day belongs to a challenge, so manage it from the challenge. Change the number of days there, or delete the whole challenge.”
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
confirm_name |
Yes | The webinar’s exact name. Anything else is refused, with a message giving the correct name. |
Video
See Video.
set_video_url
Change. Reaches outside FullHouse. Points a webinar at a video and checks it: reachable, seekable, playable in browsers, and its length. Returns each check’s result and whether the video is ready.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
media_id |
One of these two | A finished video from Media. Any number of webinars can share one. Otherwise: “Choose a finished video from Media.” |
url |
One of these two | A public https address, up to 2,000 characters, for a direct MP4 or HLS .m3u8 video. YouTube and Vimeo pages don’t work. Limited to 20 checks a minute per workspace. |
Some browsers report a video’s length only on playback. If length is the only failed check, open the video step in the webinar editor once.
validate_video
Change. Reaches outside FullHouse. Re-checks the webinar’s current video and returns each result. Limited to 20 checks a minute per workspace.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes |
Media
See Media library.
create_upload
Add. Starts uploading a file from the computer your AI tool runs commands on. It returns a command to run, which needs a shell with curl and dd (macOS or Linux). After the command prints “uploaded N parts”, call complete_upload. Limited to 30 a minute per workspace.
The file’s type comes from its name:
| Kind | File types | Largest file |
|---|---|---|
| Video | MP4, MOV, M4V, WebM | 20 GB |
| Image | PNG, JPG, GIF, WebP | 25 MB |
| Download | PDF, ZIP, DOCX, XLSX, PPTX, EPUB, CSV, TXT, MP3, M4A | 1 GB |
| Input | Required | Limits and notes |
|---|---|---|
filename |
Yes | The file’s name with its extension, such as Launch webinar.mp4 |
size_bytes |
Yes | The file’s exact size in bytes |
name |
No | The name shown in Media, up to 200 characters. Defaults to the file name. |
The file counts against your plan’s storage from this point, and a file too big for the remaining space is refused with a message showing how much is left. The upload link lasts 24 hours and unfinished uploads are removed after that. Treat the command as private until the upload finishes. If the link has expired, you’ll see “This upload link has expired. Start the upload again.”
complete_upload
Change. Finishes an upload after its command has run. It checks that every part arrived, the size matches and the file really is what its extension says, then adds it to Media and returns its address. Videos are also checked for playback and their length is read.
| Input | Required | Limits and notes |
|---|---|---|
media_id |
Yes | From create_upload |
| Message | What to do |
|---|---|
| “No parts were uploaded. Run the upload command, then finish again.” | Nothing is lost. Run the command, then call this again. |
| “The upload arrived incomplete…” | The file is discarded. Start again with create_upload. |
| “That file isn’t a video FullHouse can play. Export it as MP4 (H.264) and upload it again.” | The file is discarded. Export it again and start over. |
| “That file isn’t really a .[type] file. Export it again and upload that.” | The file is discarded. Export it again and start over. |
| “This upload was canceled. Start it again.” | Start again with create_upload |
list_media
Read. Lists uploaded files, newest first, with each file’s address, size, video length and where it’s used.
| Input | Required | Limits and notes |
|---|---|---|
kind |
No | video, image or file |
query |
No | Matches file names |
limit |
No | 1 to 100. Default 25. |
cursor |
No | From the previous page |
delete_media
Remove. Permanently deletes a file and frees its storage. It’s refused while anything still uses the file: “[File] is still used by [places]. Replace it there first, then delete it.”
| Input | Required | Limits and notes |
|---|---|---|
media_id |
Yes |
Schedule
save_schedule
Change. Adds a schedule, or replaces one if you pass schedule_id. Returns the schedule’s ID and the next five sessions.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
schedule_id |
No | The schedule to change. Leave out to add a new one. |
type |
When adding | specific, recurring, just_in_time or instant (starts when they register) |
timezone |
No | A valid time zone name. Uses the webinar’s if left out. |
config |
Depends on type | See below. When changing a schedule, pass the whole config, because it replaces the old one. |
allow_join_in_progress |
No | True or false |
join_grace_minutes |
No | 0 to 240 |
registration_cutoff_minutes |
No | 0 to 1,440 |
blockout_dates |
No | Up to 100 dates as YYYY-MM-DD |
active |
No | True or false |
| Type | config fields |
|---|---|
specific |
dates: 1 to 50, each YYYY-MM-DDTHH:MM in the schedule’s time zone |
recurring |
days: 1 to 7, where Monday is 1. times: 1 to 12, as HH:MM. |
just_in_time |
interval_minutes: 5, 10, 15, 30, 45 or 60. min_wait_minutes: 0 to 60. options_shown: 1 to 4. day_start and day_end: HH:MM, with the end after the start. |
instant |
None |
delete_schedule
Remove. Removes a schedule and its future sessions that nobody registered for. People already registered keep their sessions.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
schedule_id |
Yes |
list_sessions
Read. Lists a webinar’s sessions with start and end times, phase (upcoming, live, ended or canceled), and registrant and attendee counts. attendees_count is the same number as Showed up on the Sessions tab.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
phase |
No | upcoming, past or all. Default all. |
limit |
No | 1 to 100. Default 25. |
cursor |
No | From the previous page |
cancel_session
Remove. Cancels one session. Its pending emails stop and the room shows it as unavailable. This can’t be undone.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
session_id |
Yes |
Emails
See Reminder emails, Follow-up emails and Merge tags.
The email templates are:
| Template key | |
|---|---|
confirmation |
Registration confirmation |
reminder_24h |
24-hour reminder |
reminder_1h |
1-hour reminder |
reminder_15m |
15-minute reminder |
follow_up_attended |
Attended follow-up |
follow_up_missed |
Missed follow-up |
replay_available |
Replay available |
list_email_templates
Read. Shows a webinar’s emails with subject, body and whether each is on, whether your sender is ready, and the merge tags you can use: first_name, last_name, email, webinar_title, presenter_name, session_date, session_time, timezone, join_link, replay_link, calendar_link and unsubscribe_link.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes |
update_email_template
Change. Changes one email. Pass only what changes. Pending emails use the new version.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
template |
Yes | A template key from the table above |
enabled |
No | True or false |
subject |
No | Up to 200 characters |
body |
No | Plain text with merge tags such as {{first_name}}, up to 10,000 characters |
send_test_email
Add. Reaches outside FullHouse. Sends one template to your own account email, with sample details filled in and [Test] before the subject. It can’t send to anyone else. Limited to 5 a minute per account.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
template |
Yes | A template key from the table above |
Timeline
See Timeline, Offers, Polls and Simulated chat.
list_timeline
Read. Lists what appears during the webinar: offers, polls with live results, handouts and simulated chat messages, plus a count of each type. Times are seconds from the start of the video.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
type |
No | offer, poll, handout or chat |
limit |
No | 1 to 500. Default 200. |
cursor |
No | From the previous page |
save_timeline_item
Change. Adds a timeline item, or changes one if you pass item_id. When changing, pass only what changes.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
item_id |
No | The item to change. Leave out to add a new one. |
type |
When adding | offer, poll, handout or chat |
starts_at_seconds |
When adding | 0 to 86,400 |
ends_at_seconds |
No | 0 to 86,400, and after the start. Leave out to keep the item up until the end. |
active |
No | True or false |
payload |
When adding | The item’s content (see below) |
| Type | Field | Limits and notes |
|---|---|---|
| Offer | headline |
Required, up to 160 characters |
| Offer | description |
Up to 2,000 characters |
| Offer | button_text |
Required, up to 60 characters |
| Offer | url |
Required, http or https, up to 1,000 characters |
| Offer | image_url |
https image address. A file from Media works. |
| Offer | price |
Up to 40 characters |
| Offer | anchor_price |
Up to 40 characters |
| Offer | countdown_minutes |
1 to 1,440 |
| Poll | question |
Required, up to 300 characters |
| Poll | options |
2 to 6, each with label (required, up to 120 characters) and seed_votes (0 to 100,000) |
| Handout | title |
Required, up to 160 characters |
| Handout | description |
Up to 500 characters |
| Handout | url |
Required, http or https, up to 1,000 characters. A file from Media works. |
| Chat | name |
Required, up to 80 characters |
| Chat | message |
Required, up to 1,000 characters |
| Chat | role |
Required: host, moderator or attendee |
Once a poll has responses, its question and answer labels are locked: “This poll already has responses. Keep its question and answer labels unchanged, or add a new poll.”
delete_timeline_item
Remove. Removes an offer, poll, handout or chat message from the timeline.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
item_id |
Yes |
import_simulated_chat
Add. Adds simulated chat from CSV text. See CSV formats.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
csv |
Yes | Columns: time (seconds or HH:MM:SS), name, message, and optionally role. Up to 2,000 rows. |
replace |
No | true clears the existing script first. Default false. |
time,name,message,role
00:00:30,Alex,Welcome everyone!,host
135,Priya,Hi from Toronto,attendee- The tool allows about 2 MB of text and 2,000 rows, so split bigger scripts into several imports.
- A header row is skipped when its first column is
time,timestamp,t,secondsoroffset. - Rows with a bad time (beyond 24 hours, for example) or a missing name or message are skipped without an error. Compare the
addedcount with your row count. - Names are cut to 80 characters and messages to 1,000. An unknown role becomes
attendee. - If nothing can be used, you’ll see “No usable rows found. Expected columns: time, name, message.”
Registrants
See Registrants.
list_registrants
Read. Lists people registered for a webinar, newest first, with name, email, session, whether they attended, watch percentage, offer clicks, replay views, traffic source and unsubscribe status, plus the total.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
query |
No | Name or email contains this |
session_id |
No | Only this session’s registrants |
attended |
No | True or false |
limit |
No | 1 to 200. Default 50. |
cursor |
No | From the previous page |
get_registrant
Read. Shows one registrant in full: contact details, answers, traffic source, attendance and watch time, up to 100 activity events, emails sent or scheduled, questions asked, and their personal join link.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
registrant_id |
Yes |
add_registrant
Add. Reaches outside FullHouse. Registers a person straight away, as if they’d used the registration page, with no approval step, so they get the confirmation email and reminders. Their consent is recorded as given, so only add people who’ve agreed. Limited to 60 a minute per workspace.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
email |
Yes | A valid address, up to 255 characters |
first_name |
Depends on the page | Up to 100 characters. Required if your page requires it. |
last_name |
Depends on the page | Up to 100 characters. Required if your page requires it. |
phone |
Depends on the page | Up to 40 characters. Required if your page requires it. |
timezone |
No | A valid time zone name. Defaults to the webinar’s. |
session |
No | A key from next_sessions in get_webinar. Defaults to the first available. |
answers |
Depends on the page | Answers to your custom registration questions, as question ID and answer text. Question IDs are in registration.questions from get_webinar. Required if your page has a required question. |
Things to know:
- Custom questions: a missing required answer returns
answers.<id>: Please provide a valid answer., naming the question. - Already registered: someone already registered for that session is sent their access link again, and no second registration is created.
- Unpublished webinars: this tool doesn’t check that the webinar is published, so it also works on drafts that have a schedule.
- No sessions: “This webinar has no upcoming sessions. Add a schedule first.” If the session you asked for has gone, a message asks you to pick another time.
resend_confirmation
Add. Reaches outside FullHouse. Sends a registrant their confirmation email again, with their join link.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
registrant_id |
Yes |
unsubscribe_registrant
Remove. Stops all further emails to a registrant for this webinar, and returns how many pending emails were canceled. For someone in a challenge, it covers every day of the challenge, and returns whole_challenge.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
registrant_id |
Yes |
delete_registrant
Remove. Permanently deletes a registrant: they leave every count and report, their pending emails are canceled and their join link stops working. No webhook or automation fires. For someone in a challenge, it removes them from every day. This can’t be undone. Returns deleted and whole_challenge. See Delete a registrant.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
registrant_id |
Yes | |
confirm_email |
Yes | The registrant’s email address. Capitals don’t matter. Anything else is refused. |
Questions and live chat
list_questions
Read. Lists questions attendees asked in the room, with any replies and the number still open.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
filter |
No | open, replied or all. Default open. |
limit |
No | 1 to 100. Default 25. |
cursor |
No | From the previous page |
reply_to_question
Change. Answers a question, which also marks it resolved. The attendee sees the reply in their Q&A tab, live or later.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
question_id |
Yes | |
reply |
Yes | Up to 4,000 characters |
set_question_resolved
Change. Marks a question resolved without replying, or reopens it.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
question_id |
Yes | |
resolved |
No | true to resolve, false to reopen. Default true. |
get_live_chat
Read. Shows up to the latest 100 messages from the last 10 minutes of a webinar’s shared live chat. Returns no messages unless the room’s chat_mode is live.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes |
post_live_chat_message
Add. Posts a message under your account name as the host. Everyone in the room sees it immediately. If the room isn’t in live mode: “Enable live chat in the room settings first.” Shares a limit of 60 a minute per account with moderate_live_chat.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
message |
Yes | 1 to 2,000 characters |
moderate_live_chat
Remove. Deletes a live chat message, mutes or unmutes an attendee, or both.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
message_id |
No | The message to delete |
registrant_id |
No | The attendee to mute or unmute |
muted |
With registrant_id |
true to mute, false to unmute |
Reports
See Overview report.
get_webinar_report
Read. Shows a webinar’s performance: visits, registrations, show-ups, offer clicks, replay views and average watch time against the previous period; show-up rate by how far ahead people registered and by hour; the retention curve with the biggest drop-offs; traffic sources; poll results; and feedback ratings.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
period |
No | 7, 30, 90 or all. Default 30. Counts registrations made in that window. |
sections |
No | Only these parts: totals, by_wait, by_hour, retention, sources, polls, feedback. Default all. |
Automations
See Automations.
list_automations
Read. Lists a webinar’s automation rules with run and failure counts and the last error, plus your connected integrations with their tags and Pinball automations.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes |
save_automation
Change. Reaches outside FullHouse. Adds an automation, or changes one if you pass automation_id.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
automation_id |
No | The rule to change. Leave out to add a new one. |
trigger |
When adding | registered, attended, watched_percent, offer_seen, offer_clicked or replay_viewed |
threshold |
With watched_percent |
10, 25, 50, 75, 90 or 100 |
provider |
When adding | kit, activecampaign, pinball or ghl (GoHighLevel) |
action |
When adding | What to do (see below) |
active |
No | True or false. Default true. |
| Provider | action fields |
Notes |
|---|---|---|
| Kit, ActiveCampaign | tag_ids (1 to 20, from list_automations), tag_names (up to 20, each up to 100 characters) |
Connect it first, or you’ll see “Connect this provider under Workspace → Integrations first.” |
| Pinball | tags_add and tags_remove (up to 25 each, up to 64 characters, new tags are created), automation_ids and automation_names (up to 10) |
Needs at least one tag or automation. Connect it first, or you’ll see “Connect Pinball under Workspace → Integrations first.” |
| GoHighLevel | url |
A public https webhook address. No connection needed. |
delete_automation
Remove. Removes an automation rule.
| Input | Required | Limits and notes |
|---|---|---|
webinar_id |
Yes | |
automation_id |
Yes |
Challenges
See Challenges. Each challenge day is a webinar, so you edit a day’s video, timeline and emails with the webinar tools, using the day’s webinar ID. Publish it from the challenge, not the webinar.
list_challenges
Read. Lists challenges with status, dates, signups, and registration and embed links. No inputs.
get_challenge
Read. Shows one challenge with its settings, hub, registration page and tracking code, plus each day’s webinar ID, title, start time, video readiness and registrants.
| Input | Required | Limits and notes |
|---|---|---|
challenge_id |
Yes |
create_challenge
Add. Creates a draft challenge with one webinar per day, each starting at start_time on consecutive days.
| Input | Required | Limits and notes |
|---|---|---|
name |
Yes | Up to 120 characters |
days_count |
Yes | 2 to 14 |
starts_on |
Yes | YYYY-MM-DD, today or later in the challenge’s time zone |
start_time |
Yes | HH:MM |
timezone |
Yes | A valid time zone name |
If clocks change on one of the days so that the time doesn’t exist, you’ll see “One of these days has no such local time because the clocks change. Choose another time.”
update_challenge
Change. Changes a challenge. Pass challenge_id and changes (both required), with only what changes in changes.
Field in changes |
Limits and notes |
|---|---|
name |
Up to 120 characters |
title |
Up to 160 characters |
description |
Up to 5,000 characters |
presenter_name |
Up to 100 characters |
presenter_title |
Up to 100 characters |
presenter_avatar_url |
Image address. A file from Media works. |
tracking |
head and body, up to 10,000 characters each. Code for the sign-up page and hub. Each day’s room runs that day’s own tracking. |
days_count |
2 to 14 |
starts_on |
YYYY-MM-DD |
start_time |
HH:MM |
timezone |
A valid time zone name |
replays_in_hub |
True or false |
hub |
doors_open_minutes (0 to 240), welcome (up to 300 characters) and days, keyed by day number, with summary (up to 300 characters), note (up to 600), resource_title (up to 120) and resource_url (https) |
registration |
The same fields as a webinar’s registration |
day_titles |
Keyed by day number, each up to 160 characters |
Two things to watch for:
- Days with attendance: once a day has attendance, you can’t change the dates, time or time zone, or remove that day: “Days with attendance must keep their original schedule and remain in the challenge.”
- Automatic pause: if a published challenge ends up with a day that has no working video, for example because you added a day, it’s paused automatically. Add the video and publish it again.
publish_challenge
Change. Opens challenge registration. Every day needs a working video first, or you’ll see “Days [list] need a working video before publishing.”
| Input | Required | Limits and notes |
|---|---|---|
challenge_id |
Yes |
pause_challenge
Change. Closes challenge registration.
| Input | Required | Limits and notes |
|---|---|---|
challenge_id |
Yes |
duplicate_challenge
Add. Copies a challenge as a new draft: its settings, days, and each day’s video, timeline, emails and automations, but not registrants. A challenge that has already started gets a new first day a week from today. See Duplicate a challenge.
| Input | Required | Limits and notes |
|---|---|---|
challenge_id |
Yes |
delete_challenge
Remove. Permanently deletes a challenge with all its days, registrants, sessions and stats. Hub and join links stop working and waiting emails won’t send. This can’t be undone. Uploaded videos stay in Media until you delete them with delete_media. See Delete a challenge.
| Input | Required | Limits and notes |
|---|---|---|
challenge_id |
Yes | |
confirm_name |
Yes | The challenge’s exact name. Anything else is refused, with a message giving the correct name. |
Workspace
update_branding
Change. Changes your workspace branding. Pass only what changes. See Branding.
| Input | Required | Limits and notes |
|---|---|---|
name |
No | Workspace name, up to 100 characters |
brand_color |
No | Six-digit hex color, such as #1F6FEB |
logo_url |
No | https image address, or empty to remove. A file from Media works. |
legal_footer |
No | Up to 1,000 characters |
show_brand |
No | True or false. Shows the FullHouse badge on your pages. |
list_webhooks
Read. Lists your outgoing webhook endpoints with their failed delivery counts, plus the events they can subscribe to. It doesn’t show signing secrets. No inputs. See Webhooks.
save_webhook
Change. Reaches outside FullHouse. Adds an endpoint that FullHouse sends signed events to, or changes one if you pass webhook_id. A new endpoint’s signing secret appears once in the reply, so store it straight away. Use it to verify the X-FullHouse-Signature header.
| Input | Required | Limits and notes |
|---|---|---|
webhook_id |
No | The endpoint to change. Leave out to add a new one. |
url |
When adding | A public https address. Otherwise: “Use a public HTTPS URL without credentials or a fragment.” |
events |
When adding | At least one of registrant.created, attendee.joined, attendee.watched_percent, offer.seen, offer.clicked, poll.answered, question.asked, replay.viewed |
active |
No | True or false |
delete_webhook
Remove. Removes a webhook endpoint.
| Input | Required | Limits and notes |
|---|---|---|
webhook_id |
Yes |
Removing things safely
Eleven tools are Remove type: delete_webinar, delete_challenge, delete_registrant, delete_media, delete_schedule, cancel_session, delete_timeline_item, unsubscribe_registrant, moderate_live_chat, delete_automation and delete_webhook. Only delete_webinar and delete_challenge need a typed name, only delete_registrant needs the person’s email address, and only delete_media checks that the item isn’t in use. Keep your AI tool’s approval prompts on for all of them. See Safety confirmations.