Skip to content

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 us
Swoogo

Use Cases

Why integrate with Swoogo

Common scenarios for SaaS companies building Swoogo integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

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.