Event Management
Swoogo
API integration
Ship Event Management features without building the integration. Full Swoogo API access via Proxy and 150+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Swoogo
Common scenarios for SaaS companies building Swoogo integrations for their customers.
Sync event attendance into CRM and marketing automation
Marketing and sales platforms can pull Swoogo registrants, check-ins, and session attendance to attribute pipeline to events and trigger post-event lead routing. Webhooks keep records fresh without polling.
Auto-populate event mobile apps and virtual venues
Event app builders can ingest sessions, speakers, tracks, sponsors, and locations from a customer's Swoogo event with a single connection. Organizers stop double-entering agendas across systems.
Pipeline call-for-speakers into a published agenda
Content and abstract management tools can push approved CFS submissions, reviews, speakers, and speaker-session assignments directly into Swoogo. This automates the handoff from selection to website publication.
Grant continuing education credits from session attendance
Community, LMS, and certification platforms can match Swoogo session attendances to member records and automatically issue CE credits. It removes manual CSV reconciliation for association managers.
Reconcile event revenue inside finance tools
ERP, billing, and accounting SaaS can pull transactions, registrant line items, discount codes, and package fees to reconcile gross and net event revenue. Audit endpoints support clean financial reporting.
What You Can Build
Ship these features with Truto + Swoogo
Concrete product features your team can ship faster by leveraging Truto’s Swoogo integration instead of building from scratch.
Real-time registrant and contact sync
Register Swoogo webhooks on insert, update, and delete events to stream registrant and contact changes into your product the moment they happen.
Frictionless pre-populated registration links
Generate registrant tokens and unique pre-fill URLs to embed in your customer's emails so known prospects register in one click.
One-click agenda import
Pull sessions, tracks, session locations, speakers, and sponsors from a Swoogo event ID to bootstrap your mobile app, microsite, or virtual venue.
Session-level engagement scoring
Use session scans and session attendances (with duration) to feed lead scoring, account intent signals, and sales alerts based on which breakouts a prospect actually joined.
Two-way custom field mapping
Read event fields, contact fields, sponsor fields, and session fields so customers can map their custom Swoogo schema to your product's objects during onboarding.
Automated check-in and badge workflows
Trigger registrant check-ins, fetch badges, and send registrant emails programmatically to power kiosks, self-service apps, and post-registration confirmations.
SuperAI
Swoogo AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_swoogo_cfs_contact
Create a new Call for Speakers contact in Swoogo for a given event. Returns: id, contact_id, email, first_name, last_name, company, job_title, event_id, reviewer, submitter, reviewer_role, created_at, updated_at.
delete_a_swoogo_cfs_contact_by_id
Permanently delete a Call for Speakers contact from Swoogo by id. Returns an empty 204 response on success. Required: id.
list_all_swoogo_cfs_contacts
List all Call for Speakers contacts in Swoogo for a given event. Returns per record: id, contact_id, email, first_name, last_name, event_id, reviewer, submitter, created_at, updated_at. Required: event_id.
get_single_swoogo_cfs_contact_by_id
Get a single Call for Speakers contact by id in Swoogo. Returns: id, contact_id, email, first_name, last_name, company, job_title, event_id, reviewer, submitter, reviewer_role, created_at, updated_at. Required: id.
update_a_swoogo_cfs_contact_by_id
Update an existing Call for Speakers contact by id in Swoogo. Returns: id, contact_id, email, first_name, last_name, company, job_title, event_id, reviewer, submitter, reviewer_role, created_at, updated_at. Required: id.
create_a_swoogo_cfs_review
Create a new Call for Speakers submission review in Swoogo. Returns the created review record including id, event_id, reviewer_id, rating, notes, created_at, and updated_at. Required: event_id, submission_id, reviewer_id, rating.
delete_a_swoogo_cfs_review_by_id
Permanently delete a Call for Speakers review by id in Swoogo, removing the reviewer's score and feedback from the submission's evaluation record. Returns an empty 204 response on success. Required: id.
list_all_swoogo_cfs_reviews
List all Call for Speakers submission reviews for a Swoogo event. Returns: id, event_id, reviewer_id, rating, notes, submission_name, reviewer_fullName, created_at, updated_at per review. Required: event_id.
get_single_swoogo_cfs_review_by_id
Get a single Call for Speakers review by id in Swoogo. Returns: id, event_id, reviewer_id, reviewer_fullName, rating, notes, submission_name, created_at, updated_at. Required: id.
update_a_swoogo_cfs_review_by_id
Update an existing Call for Speakers review by id in Swoogo. Returns the updated review record including id, event_id, reviewer_id, rating, notes, created_at, and updated_at. Required: id.
create_a_swoogo_cfs_submission
Create a new speaker submission in Swoogo for an event's Call for Speakers program, entering it into the review pipeline. Returns: id, name, event_id, session_status, created_at, updated_at. Required: event_id, submitter_id.
list_all_swoogo_cfs_submissions
List all speaker submissions in Swoogo for an event's Call for Speakers program, including session topic, review status, and track preference. Returns: id, name, event_id, session_status, track, created_at, updated_at. Required: event_id.
get_single_swoogo_cfs_submission_by_id
Get a single speaker submission in Swoogo by id, including session topic, abstract, track preference, review status, and reviewer scores. Returns: id, name, event_id, session_status, track, description, created_at, updated_at. Required: id.
update_a_swoogo_cfs_submission_by_id
Update an existing speaker submission in Swoogo by id. Returns: id, name, event_id, session_status, track, created_at, updated_at. Required: id.
delete_a_swoogo_submission_by_id
Delete a swoogo speaker submission by id. Permanently removes the submission and all associated reviews from the Call for Speakers program. Returns an empty 204 response on success. Required: id.
list_all_swoogo_contact_fields
List all contact custom field definitions in Swoogo. Returns: id, name, type, account_id, created_at, updated_at, and additional configuration properties for each field. Use search to filter results, sort to order them, and fields to limit returned properties.
get_single_swoogo_contact_field_by_id
Get a single Swoogo contact custom field definition by id. Returns full details including id, name, type, account_id, created_at, updated_at, and choices (available options for dropdown or multi-select fields). Required: id.
create_a_swoogo_contact
Create a new Swoogo CRM contact. The email field must be unique within your account. Returns the created contact object including id, email, first_name, last_name, created_at, and updated_at. Required: email.
delete_a_swoogo_contact_by_id
Perform a GDPR 'right to be forgotten' operation on a Swoogo contact by id, permanently anonymizing all personal data and optionally linked registrant records. This action is irreversible. Returns an empty 200 response on success. Required: id.
list_all_swoogo_contacts
List Swoogo CRM contacts across all events in your account. Returns: id, first_name, last_name, email, company, created_at, updated_at per contact. Use fields to request specific properties, expand for address objects (homeAddress, workAddress, billingAddress), search to filter by any contact field, and sort to control ordering.
get_single_swoogo_contact_by_id
Get a single Swoogo CRM contact by id. Returns the contact object including id, email, first_name, last_name, company, job_title, created_at, and updated_at. Required: id.
update_a_swoogo_contact_by_id
Update an existing Swoogo CRM contact by id. Returns the updated contact object including id, email, first_name, last_name, created_at, and updated_at. Required: id.
create_a_swoogo_data_list_item
Create a new data list item in Swoogo within an existing data list. Returns: id, data_list_id, name, created_at, updated_at. Required: data_list_id, name.
delete_a_swoogo_data_list_item_by_id
Permanently delete a Swoogo data list item by id. Returns an empty 204 response on success. Required: id.
list_all_swoogo_data_list_items
List all Swoogo data list items for a specific data list. Returns: id, data_list_id, name, created_at, updated_at per item. Required: data_list_id.
get_single_swoogo_data_list_item_by_id
Get a single Swoogo data list item by id. Returns: id, data_list_id, name, created_at, updated_at. Required: id.
update_a_swoogo_data_list_item_by_id
Update an existing Swoogo data list item by id. Returns: id, data_list_id, name, created_at, updated_at. Required: id.
create_a_swoogo_data_list
Create a new data list in Swoogo. Returns: id, name, notes, account_id, created_at, updated_at. Required: name.
delete_a_swoogo_data_list_by_id
Permanently delete a Swoogo data list and all its items by id. Custom fields referencing this list will lose their option set. Returns an empty 204 response on success. Required: id.
list_all_swoogo_data_lists
List all Swoogo data lists for the account. Returns: id, name, notes, account_id, created_at, updated_at per record. Supports field selection via fields, filtering via search, and sorting via sort.
get_single_swoogo_data_list_by_id
Get a single Swoogo data list by id. Returns: id, name, notes, account_id, created_at, updated_at. Required: id.
update_a_swoogo_data_list_by_id
Update an existing Swoogo data list by id. Returns: id, name, notes, account_id, created_at, updated_at. Required: id.
create_a_swoogo_discount_code
Create a new discount code in Swoogo. Returns: id, event_id, code, type, capacity, percentage_discount, absolute_discount, apply_to_all, created_at, updated_at. Required: event_id, code, type.
delete_a_swoogo_discount_code_by_id
Permanently delete a Swoogo discount code by id. The code will no longer be usable for future registrations; existing registrants who already applied it are not affected. Returns an empty 204 response on success. Required: id.
list_all_swoogo_discount_codes
List all discount codes for a Swoogo event. Returns: id, event_id, code, type, capacity, percentage_discount, apply_to_all, created_at. Required: event_id. Use expand to include alternates, autopopulate, registrantCount, or reservedCount.
get_single_swoogo_discount_code_by_id
Get a single Swoogo discount code by id. Returns: id, event_id, code, type, capacity, percentage_discount, absolute_discount, apply_to_all, applicable_line_items, notes, created_at, updated_at. Required: id.
update_a_swoogo_discount_code_by_id
Update an existing Swoogo discount code by id. Returns: id, event_id, code, type, capacity, percentage_discount, absolute_discount, apply_to_all, updated_at. Required: id.
get_single_swoogo_event_badge_by_id
Generate a badge for a specific registrant in Swoogo using a badge template. Returns: created_at, updated_at. Required: badge_id, id.
list_all_swoogo_badges
List all badge templates configured in Swoogo. Returns: id, name, notes, created_at, updated_at, created_by, updated_by. Optionally filter by event_id, a comma-separated list of ids, or a search expression.
get_single_swoogo_badge_by_id
Get a single Swoogo badge template by id, including its layout configuration and associated registration types. Returns: id, name, notes, created_at, updated_at, created_by, updated_by. Required: id.
create_a_swoogo_event_field
Create a new custom event field definition in Swoogo. Returns the created field object including id, name, type, visible, sort, allow_html, choices, created_at, and updated_at.
delete_a_swoogo_event_field_by_id
Permanently delete a custom event field definition by its id in Swoogo. Any data stored in this field on existing events will no longer be accessible. Returns an empty 204 response on success. Required: id.
list_all_swoogo_event_fields
List all custom event field definitions in Swoogo. Returns each field's id, name, type, visible, sort, required, choices, attribute, and timestamps. Supports filtering via search and limiting returned fields via the fields parameter.
get_single_swoogo_event_field_by_id
Get a single custom event field definition by its id in Swoogo. Returns the field object including id, name, type, visible, sort, required, choices, attribute, allow_html, and timestamps. Required: id.
update_a_swoogo_event_field_by_id
Update an existing custom event field definition by its id in Swoogo. Returns the updated field object including id, name, type, visible, sort, required, choices, attribute, allow_html, and timestamps. Required: id.
list_all_swoogo_event_folders
List all event folders in Swoogo used to organize events in the dashboard. Folders support a hierarchical structure via parent_id for nested organization. Returns: id, name, parent_id, created_at, updated_at. Use search to filter, sort to order, fields to limit returned fields, and ids to fetch up to 100 specific folders by ID.
get_single_swoogo_folder_by_id
Get a single Swoogo event folder by id. Returns the folder object including its id, name, and parent_id for hierarchical navigation. Required: id.
list_all_swoogo_event_questions
List all registration form questions configured for a swoogo event. Returns: id, event_id, name, attribute, type, created_at, updated_at. Required: event_id.
get_single_swoogo_event_question_by_id
Get a single swoogo registration form question by id, including its label, field type, mapped registrant attribute, and sort order. Returns: id, event_id, name, attribute, type, created_at, updated_at. Required: id.
list_all_swoogo_event_websites
List all Swoogo event websites associated with a specific event. Returns: id, account_id, event_id, url, created_at, updated_at. Supports filtering via search, field selection, and sorting. Required: event_id.
get_single_swoogo_event_website_by_id
Get a single Swoogo event website by id, including its site URL and configuration. Returns: id, account_id, event_id, url, created_at, updated_at. Required: id.
create_a_swoogo_event
Create a new event in Swoogo. Returns the created event record including id, name, start_date, end_date, timezone, and status.
list_all_swoogo_events
List all Swoogo events for your account with pagination and filtering support. Returns event records including id, name, status, start_date, end_date, timezone, capacity, and url. Use `search` to filter by any event field, `sort` to order results, and `fields` to control which fields are returned. Max 200 items per page when using `expand`.
get_single_swoogo_event_by_id
Get a single Swoogo event by id. Returns the full event record including name, start_date, end_date, timezone, capacity, status, and url. Use `fields` to limit returned fields and `expand` to include related objects such as folder and location. Required: id.
update_a_swoogo_event_by_id
Update an existing Swoogo event by id. Returns the updated event record including id, name, start_date, end_date, timezone, and status. Required: id.
delete_a_swoogo_image_by_id
Delete a swoogo image field by id, removing the image file and clearing the field. Returns an empty 204 response on success. Required: id.
get_single_swoogo_image_by_id
Get the URL and metadata for a swoogo image field by id. Returns: field, id, message, status, type, url. Required: id.
update_a_swoogo_image_by_id
Upload or replace a swoogo image for a specific object field via multipart/form-data. Returns: message, status, field, id, type, url. Required: id, file. File must be no larger than 5MB with a valid extension: jpg, jpeg, gif, png, webp, or svg.
create_a_swoogo_invitation_list_contact
Add a contact to a swoogo invitation list, granting them permission to register for the associated event. Returns: event_id, list_id, contact_id, status, created_at, created_by. Required: invitation_list_id, contact_id.
delete_a_swoogo_invitation_list_contact_by_id
Remove a contact from a swoogo invitation list by id. Returns: message, success. Required: invitation_list_id, id.
create_a_swoogo_invitation_list
Create a new invitation list in Swoogo for an event. Returns: id, name, notes, module, reg_type_id, package_id, cfs_role_id, created_at, updated_at. Required: event_id, name.
list_all_swoogo_invitation_lists
List all invitation lists in Swoogo. Returns: id, name, notes, module, reg_type_id, package_id, cfs_role_id, created_at, updated_at per item. Optionally filter by event_id, narrow results with search, or order with sort.
get_single_swoogo_invitation_list_by_id
Get a single Swoogo invitation list by id. Returns: id, name, notes, module, reg_type_id, package_id, cfs_role_id, created_at, updated_at. Required: id.
update_a_swoogo_invitation_list_by_id
Update an existing Swoogo invitation list by id. Returns: id, name, notes, module, reg_type_id, package_id, cfs_role_id, created_at, updated_at. Required: id.
delete_a_swoogo_package_fee_by_id
Remove the fee for a swoogo package, setting its base price to 0 and clearing all conditional pricing. Returns the resulting fee record including id, package_id, price, and conditional_prices. Required: package_id, id.
get_single_swoogo_package_fee_by_id
Get the current fee configuration for a swoogo package, including base price and conditional pricing. Returns: id, package_id, price, conditional_prices. Required: package_id, id.
update_a_swoogo_package_fee_by_id
Update the fee configuration for a swoogo package, including base price and/or conditional pricing. Returns the updated fee object including id, package_id, price, and conditional_prices. Required: package_id, id. Only existing conditional pricing keys can be updated; non-existent keys are silently ignored.
create_a_swoogo_package
Create a new registration package in Swoogo for an event. Returns the created package including id, name, capacity, created_at, and updated_at. Required: event_id, name.
delete_a_swoogo_package_by_id
Delete a Swoogo registration package permanently by id. Returns an empty 204 response on success. Required: id.
list_all_swoogo_packages
List all registration packages for a Swoogo event. Returns each package's id, name, capacity, public_short_name, and admin_short_name. Use the fields parameter to request additional fields and expand to embed related pricing or translation data. Required: event_id.
get_single_swoogo_package_by_id
Get a single Swoogo registration package by id. Returns the package record including id, name, capacity, created_at, and updated_at. Required: id.
update_a_swoogo_package_by_id
Update an existing Swoogo registration package by id. Returns the updated package including id, name, capacity, created_at, and updated_at. Required: id.
list_all_swoogo_pages
List all pages for a specific Swoogo event website. Returns: id, name, slug, type, event_id, fullUrl, sort, created_at, updated_at. Required: event_id.
get_single_swoogo_page_by_id
Get a single Swoogo event page by id. Returns: id, name, slug, type, event_id, fullUrl, sort, created_at, updated_at. Required: id.
create_a_swoogo_registrant_group
Add a registrant to an existing Swoogo registration group, consolidating the registrant's transactions and line items under the group primary's financial record. Returns: id, group_id, event_id, registration_status, email, first_name, last_name, created_at, and additional registrant fields. Required: registrant_group_id, registrant_id. Both registrants must belong to the same event.
delete_a_swoogo_registrant_group_by_id
Remove a registrant from their current Swoogo registration group, restoring the registrant as an independent group primary with their own financial record. Returns: id, group_id, event_id, registration_status, email, first_name, last_name, created_at, and additional registrant fields. Required: registrant_group_id, id. The registrant must not be the current group primary.
list_all_swoogo_registrant_line_item_audits
List the audit trail for registrant line items in a Swoogo event, tracking historical changes such as price modifications, status changes, and discount applications. Returns: registrant_id, object, object_id, net, gross, tax, tax_rate, full_price_net, full_price_gross, datetime, quantity, status, created_at, updated_at. Required: event_id. When using the ids parameter, a maximum of 100 IDs per request is allowed.
list_all_swoogo_registrant_line_items
List all financial line items for registrants within a Swoogo event. Returns per-item fields including registrant_id, object, object_id, net, tax, tax_rate, gross, quantity, status, created_at, and updated_at. Use search to filter by registrant_id, object type, status, or amount. Required: event_id.
create_a_swoogo_session_waitlist_registrant
Add a registrant to the waitlist for a sold-out Swoogo session. Returns: created_at, updated_at. Required: registrant_id, session_id.
delete_a_swoogo_session_waitlist_registrant_by_id
Remove a registrant from a Swoogo session waitlist by id. Returns an empty 204 response on success. Required: id.
create_a_swoogo_registrant_session
Add a session to a registrant's selected sessions in Swoogo. By default the request fails if the session is at capacity or has scheduling conflicts. Returns: success. Required: registrant_id, session_id.
delete_a_swoogo_registrant_session_by_id
Remove a session from a registrant's selected sessions in Swoogo; the registrant will no longer appear in the session's attendance list. Required: id. Returns an empty 204 response on success.
create_a_swoogo_registrant_type
Create a new Swoogo registration type for an event. Returns: id, name, capacity, created_at, updated_at, admin_short_name, public_short_name, description, min_group_size, max_group_size, sold_out_message. Required: event_id, name.
delete_a_swoogo_registrant_type_by_id
Permanently delete a Swoogo registration type by id. Existing registrants already assigned to this type are unaffected. Returns an empty 204 response on success. Required: id.
list_all_swoogo_registrant_types
List all Swoogo registration types for an event. Returns: id, name, capacity, created_at, updated_at, admin_short_name, public_short_name, description, min_group_size, max_group_size, sold_out_message. Required: event_id.
get_single_swoogo_registrant_type_by_id
Get a single Swoogo registration type by id. Returns: id, name, capacity, created_at, updated_at, admin_short_name, public_short_name, description, min_group_size, max_group_size, sold_out_message. Use expand=earlyBirds to include early-bird pricing tiers. Required: id.
update_a_swoogo_registrant_type_by_id
Update an existing Swoogo registration type by id. Returns: id, name, capacity, created_at, updated_at, admin_short_name, public_short_name, description, min_group_size, max_group_size, sold_out_message. Required: id.
update_a_swoogo_registrant_by_id
Update a swoogo registrant by id. Returns the updated registrant record including id, email, first_name, last_name, registration_status, updated_at, and full profile and financial fields. Required: id.
create_a_swoogo_registrant
Create a new swoogo registrant for an event. Returns the created registrant record including id, email, first_name, last_name, registration_status, created_at, and full profile and financial fields. Required: event_id, email. Set send_email=true to trigger the confirmation email; registration_status defaults to confirmed.
list_all_swoogo_registrants
List swoogo registrants for a specific event. Returns each registrant's id, email, first_name, last_name, registration_status, and other profile and financial fields. Required: event_id. Use search to filter by any field, sort to order results, and expand to include homeAddress, workAddress, or billingAddress.
get_single_swoogo_registrant_by_id
Get a single swoogo registrant by id. Returns the full registrant record including id, email, first_name, last_name, registration_status, created_at, updated_at, and all profile and financial fields. Required: id.
create_a_swoogo_registrant_token
Create a pre-population login token for a swoogo registrant, allowing their details to be pre-filled on a registration form. Returns: id, token, url, and event_id. The returned url can be sent directly to the registrant to complete registration with known fields pre-filled. Required: registrant_id.
create_a_swoogo_session_attendance
Create a new session attendance record in Swoogo to mark a registrant as having attended a session. Returns: id, session_id, registrant_id, check_in_date, check_out_date, duration, waiting_room_date, on_demand_date. Required: session_id, registrant_id.
list_all_swoogo_session_attendances
List all session attendance records for a Swoogo event. Returns: id, session_id, registrant_id, check_in_date, check_out_date, duration, created_at, updated_at. Required: event_id.
update_a_swoogo_session_attendance_by_id
Update an existing session attendance record in Swoogo by its ID to modify attendance timing details. Returns: id, session_id, registrant_id, check_in_date, check_out_date, duration, waiting_room_date, on_demand_date. Required: id.
delete_a_swoogo_session_fee_by_id
Remove a swoogo session fee, setting the session's base price to 0 and clearing all conditional pricing. Returns: id, session_id, price, conditional_prices. Required: session_id, id.
get_single_swoogo_session_fee_by_id
Get the fee configuration for a specific swoogo session by id, including base price and conditional pricing. Returns: id, session_id, price, conditional_prices. Required: session_id, id.
update_a_swoogo_session_fee_by_id
Update the fee configuration for a specific swoogo session. Returns: id, session_id, price, conditional_prices. Required: session_id, id. Only existing conditional pricing keys can be updated; non-existent keys are silently ignored. Use empty strings to clear specific conditional prices.
create_a_swoogo_session_field
Create a new custom session field definition in Swoogo, specifying the field name, type, visibility, sort order, and choices for selection-type fields. Returns: id, name, type, attribute, visible, sort, allow_html, s_hint, created_at, updated_at.
delete_a_swoogo_session_field_by_id
Permanently delete a custom session field definition in Swoogo by id. Any data stored in this field on existing sessions will no longer be accessible. Returns an empty 204 response on success. Required: id.
list_all_swoogo_session_fields
List all custom session field definitions in Swoogo. Returns per record: id, name, type, attribute, visible, sort, allow_html, s_hint, created_at, updated_at, and other field metadata. Supports filtering via search and field selection via fields.
get_single_swoogo_session_field_by_id
Get a single custom session field definition in Swoogo by id. Returns: id, name, type, attribute, visible, sort, allow_html, s_hint, s_url_display_format, s_button_text, created_at, updated_at, and other field metadata. Required: id.
update_a_swoogo_session_field_by_id
Update an existing custom session field definition in Swoogo by id. Modify the field name, type, visibility, sort order, choices, or URL settings. Returns: id, name, type, attribute, visible, sort, allow_html, s_hint, created_at, updated_at, and other field metadata. Required: id.
create_a_swoogo_session_location
Create a new session location (room/venue) in Swoogo for a specific event. Returns: id, name, capacity, color, use_event_address, created_by, created_at, updated_by, updated_at. Required: event_id, name.
delete_a_swoogo_session_location_by_id
Permanently delete a session location by id in Swoogo. Returns an empty 204 response on success. Required: id.
list_all_swoogo_session_locations
List all session locations (rooms/venues) for a specific event in Swoogo. Returns: id, name, capacity, color, use_event_address, created_by, created_at, updated_by, updated_at. Required: event_id.
get_single_swoogo_session_location_by_id
Get a single session location by id in Swoogo. Returns: id, name, capacity, color, use_event_address, created_by, created_at, updated_by, updated_at. Required: id.
update_a_swoogo_session_location_by_id
Update an existing session location by id in Swoogo. Returns: id, name, capacity, color, use_event_address, created_by, created_at, updated_by, updated_at. Required: id.
create_a_swoogo_session_scan
Create a session scan in Swoogo to check in a registrant at a session, equivalent to scanning their badge or QR code. Returns: id, event_id, registrant_id, type, created_by, created_at, scan_id. Required: registrant_id, session_id.
delete_a_swoogo_session_scan_by_id
Delete a Swoogo session check-in scan record by id, reversing an accidental check-in or correcting scanning errors. Returns an empty 204 response on success. Required: id.
list_all_swoogo_session_scans
List all session check-in scan records in Swoogo for an event. Returns: id, event_id, registrant_id, type, created_by, created_at, scan_id, updated_at. Required: event_id.
create_a_swoogo_session
Create a new Swoogo session within an event. Returns the created session record including id, event_id, name, date, start_time, end_time, session_status, capacity, location_id, track_id, and custom_fields. Sessions are created with session_status=live by default. Required: event_id, name, date.
delete_a_swoogo_session_by_id
Permanently delete a Swoogo session by id. Returns an empty 204 response on success. Required: id.
list_all_swoogo_sessions
List all Swoogo sessions for a specific event. Returns session records including id, event_id, name, date, start_time, end_time, session_status, capacity, location_id, track_id, and custom_fields. Required: event_id.
get_single_swoogo_session_by_id
Get a single Swoogo session by id. Returns the full session record including id, event_id, name, date, start_time, end_time, session_status, capacity, location_id, track_id, and custom_fields. Required: id.
update_a_swoogo_session_by_id
Update an existing Swoogo session by id. Returns the updated session record including id, event_id, name, date, start_time, end_time, session_status, capacity, location_id, track_id, and custom_fields. Required: id.
create_a_swoogo_speaker_session
Assign a speaker to a session in Swoogo by submitting the speaker_id and session_id. The speaker and session must belong to the same event. Returns: created_at, updated_at. Required: speaker_id, session_id.
delete_a_swoogo_speaker_session_by_id
Remove a speaker from a specific session in Swoogo by id. Only the association is deleted; the speaker and session records themselves are not affected. Returns: bio. Required: id.
create_a_swoogo_speaker
Create a new swoogo speaker by linking an existing contact to an event. Returns the newly created speaker object including id, first_name, last_name, email, company, bio, created_at, and updated_at. Required: event_id, contact_id.
delete_a_swoogo_speaker_by_id
Permanently delete a swoogo speaker by id, removing all associated session links. The underlying contact record is not affected. Returns an empty 204 response on success. Required: id.
list_all_swoogo_speakers
List swoogo speakers for a specific event. Returns: id, first_name, last_name, company, bio, created_at, updated_at. Use fields to request additional properties, search to filter by any speaker field, and expand=sessions to include each speaker's assigned sessions. Required: event_id.
get_single_swoogo_speaker_by_id
Get a single swoogo speaker by id. Returns: id, first_name, last_name, email, company, bio, created_at, updated_at. Required: id.
list_all_swoogo_sponsor_attendances
List sponsor attendance records for a specific Swoogo event, tracking each sponsor's participation or booth presence. Returns: created_at, updated_at. Required: event_id.
create_a_swoogo_sponsor_field
Create a new custom field definition for sponsors in Swoogo. Returns: id, name, type, sort, visible, required, allow_html, choices, created_at, updated_at. Required: name, type.
delete_a_swoogo_sponsor_field_by_id
Permanently delete a sponsor custom field definition by id in Swoogo. Removes the field schema and all stored values across all sponsors. This action cannot be undone. Returns an empty 204 response on success. Required: id.
list_all_swoogo_sponsor_fields
List all sponsor custom field definitions in Swoogo. Returns each field's id, name, type, sort, visible, required, allow_html, choices, s_hint, created_at, updated_at.
get_single_swoogo_sponsor_field_by_id
Get a single sponsor custom field definition by id in Swoogo. Returns: id, name, type, sort, visible, required, allow_html, choices, s_hint, created_at, updated_at. Required: id.
update_a_swoogo_sponsor_field_by_id
Update an existing sponsor custom field definition by id in Swoogo. Returns: id, name, type, sort, visible, required, allow_html, choices, s_hint, created_at, updated_at. Required: id.
create_a_swoogo_sponsor
Create a new sponsor in swoogo for a specific event. Returns the newly created sponsor object including id, name, event_id, website, level, logo_id, created_at, and updated_at. Required: event_id, name.
delete_a_swoogo_sponsor_by_id
Permanently delete a swoogo sponsor by id, removing all associated attendance records and custom field values. This action cannot be undone. Returns an empty 204 response on success. Required: id.
list_all_swoogo_sponsors
List all swoogo sponsors for a specific event. Returns: id, name, event_id, website, description, level, logo_id, created_at, updated_at, and more. Use fields to select specific properties, search to filter, and sort to control ordering. Required: event_id.
get_single_swoogo_sponsor_by_id
Get a single swoogo sponsor by id. Returns the sponsor object including id, name, event_id, website, description, level, logo_id, created_at, updated_at, and more. Required: id.
update_a_swoogo_sponsor_by_id
Update an existing swoogo sponsor by id. Returns the updated sponsor object including id, name, event_id, website, description, level, logo_id, created_at, and updated_at. Required: id.
create_a_swoogo_track
Create a new session track in Swoogo for an event, used to categorize sessions (e.g., "Technical", "Business"). Returns: id, name, color, created_at, updated_at, created_by, updated_by. Required: event_id, name.
delete_a_swoogo_track_by_id
Permanently delete a session track in Swoogo by id. Sessions assigned to this track will lose their track categorization. Returns an empty 204 response on success. Required: id.
list_all_swoogo_tracks
List all session tracks in Swoogo for a specific event. Returns: id, name, color, created_at, updated_at, created_by, updated_by. Required: event_id. Use fields, expand, search, sort, or ids to narrow or enrich results.
get_single_swoogo_track_by_id
Get a single Swoogo session track by id. Returns: id, name, color, created_at, updated_at, created_by, updated_by. Required: id.
update_a_swoogo_track_by_id
Update an existing session track in Swoogo by id. Returns: id, name, color, created_at, updated_at, created_by, updated_by. Required: id.
create_a_swoogo_transaction
Create an offline transaction record for a registrant in Swoogo (e.g., wire transfer, check, cash payment or refund). Returns: registrant_id, type, amount, status, datetime, notes, created_at, updated_at. Required: event_id, registrant_id, type, amount. Only offline payment/refund types are supported; online types such as credit_card_payment cannot be created through this endpoint.
delete_a_swoogo_transaction_by_id
Delete a Swoogo transaction record permanently by id. Returns an empty 204 response on success. Required: id.
list_all_swoogo_transactions
List all financial transaction records for a specific Swoogo event. Returns: id, registrant_id, type, amount, status, datetime, created_at per record. Required: event_id. Use search to filter by registrant_id, status, amount, date range, and other fields; use sort to order results.
get_single_swoogo_transaction_by_id
Get a single Swoogo transaction record by id. Returns: id, registrant_id, type, amount, status, datetime, notes, created_at, updated_at, card_type, currency, gateway_transaction_id, and other payment details. Required: id.
create_a_swoogo_webhook_group
Create a new webhook group in Swoogo. Returns: id, name, headers, notification_emails. Required: name.
delete_a_swoogo_webhook_group_by_id
Permanently delete a Swoogo webhook group and all webhooks it contains. All HTTP callbacks from webhooks in this group will immediately stop firing. Returns an empty 204 response on success. Required: id.
list_all_swoogo_webhook_groups
List all webhook groups in Swoogo. Returns: id, name, headers, notification_emails per item. Use search to filter, sort to order, and fields to select specific fields.
get_single_swoogo_webhook_group_by_id
Get a single Swoogo webhook group by id. Returns: id, name, headers, notification_emails. Required: id.
update_a_swoogo_webhook_group_by_id
Update an existing Swoogo webhook group by id. Returns: id, name, headers, notification_emails. Required: id, name.
create_a_swoogo_webhook
Create a new webhook configuration in Swoogo. Returns: id, name, url, trigger_object, enabled, content_type, trigger_on_insert, trigger_on_update, trigger_on_delete. Required: name, url, trigger_object.
delete_a_swoogo_webhook_by_id
Permanently delete a Swoogo webhook configuration by id. The webhook immediately stops sending HTTP callbacks. Returns an empty 204 response on success. Required: id.
list_all_swoogo_webhooks
List all webhook configurations in Swoogo. Returns: id, name, url, trigger_object, trigger_on_insert, trigger_on_update, trigger_on_delete, any_event, event_ids, all_fields. Use expand=group to include webhook group details.
get_single_swoogo_webhook_by_id
Get a single Swoogo webhook configuration by id. Returns: id, name, url, trigger_object, enabled, content_type, trigger_on_insert, trigger_on_update, trigger_on_delete, any_event, event_ids. Required: id.
update_a_swoogo_webhook_by_id
Update an existing Swoogo webhook configuration by id. Returns: id, name, url, trigger_object, enabled, content_type, trigger_on_insert, trigger_on_update, trigger_on_delete, any_event, event_ids. Required: id, name, url, trigger_object.
create_a_swoogo_discount_code_clone
Clone an existing Swoogo discount code to create a new alternate code linked to the original. Returns: id, code, event_id, type, parent_id, capacity, percentage_discount, absolute_discount, apply_to_all, applicable_line_items, custom_fees, notes, created_at, updated_at. Required: discount_code_id.
create_a_swoogo_event_clone
Clone a swoogo event by copying all settings — including registration types, packages, sessions, forms, and website configuration — into a new event. Returns the cloned event object including id, name, start_date, display_url, and close_date. Required: event_id. Registrant data is never copied; the cloned event starts with zero registrations. Cloning is asynchronous and may take a few moments to complete.
create_a_swoogo_registrant_checkin
Check in a swoogo registrant at their event by submitting their identifier to the checkin endpoint. Returns an empty 204 response on success. Required: registrant_id.
create_a_swoogo_registrant_email
Trigger a transactional email to a Swoogo registrant using the event's configured email templates. This endpoint initiates sending only — it does not customize the email body. Returns a 200 response with no body on success. Required: registrant_id, email_type.
Why Truto
Why use Truto’s MCP server for Swoogo
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 500+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Swoogo in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Swoogo account
Use Truto’s frontend SDK to connect your customer’s Swoogo account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Swoogo
Truto’s Proxy API is a 1-to-1 mapping of the Swoogo API. You call us, we call Swoogo, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Swoogo’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Swoogo on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Swoogo account?
Swoogo uses API key authentication. Your users provide their Swoogo API credentials during connection in Truto, and Truto manages secure storage, token handling, and request signing so you never touch the raw credentials.
Can we receive real-time updates instead of polling?
Yes. Swoogo supports webhooks, and you can programmatically subscribe via create_a_swoogo_webhook with trigger_on_insert, trigger_on_update, and trigger_on_delete. This is the recommended pattern for registrants, contacts, sessions, and transactions.
Are custom fields supported?
Yes. You can list and read event fields, contact fields, session fields, and sponsor fields through their respective endpoints, then map them to your own schema. CFS contacts and submissions are also exposed for call-for-speakers workflows.
Can we write data back into Swoogo, or is it read-only?
It's fully bi-directional. You can create, update, and delete registrants, contacts, sessions, speakers, sponsors, packages, discount codes, tracks, transactions, webhooks, and more — not just read them.
How do we handle financial reconciliation and audits?
Use list_all_swoogo_transactions, list_all_swoogo_registrant_line_items, and list_all_swoogo_registrant_line_item_audits to reconcile payments, discounts, and fee changes. Package fees and session fees are individually addressable for line-level accuracy.
Can we support multi-event customers from a single connection?
Yes. Most resources are scoped by event, and you can list_all_swoogo_events to enumerate a customer's event portfolio, then fetch sessions, registrants, speakers, sponsors, and pages per event ID as needed.
From the Blog
Swoogo integration guides
Deep dives, architecture guides, and practical tutorials for building Swoogo integrations.
Swoogo
Get Swoogo integrated into your app
Our team understands what it takes to make a Swoogo integration successful. A short, crisp 30 minute call with folks who understand the problem.