---
title: Swoogo API Integration on Truto
slug: swoogo
category: Event Management
canonical: "https://truto.one/integrations/detail/swoogo/"
---

# Swoogo API Integration on Truto



**Category:** Event Management  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 156 tools for Swoogo that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's Swoogo account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Swoogo.** The Proxy API is a 1-to-1 mapping of the Swoogo API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

### 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.

## Related reading

- [Connect Swoogo to ChatGPT: Manage Event Planning, Attendees, and Speakers](https://truto.one/blog/connect-swoogo-to-chatgpt-manage-event-planning-attendees-and-speakers/) — Learn how to connect Swoogo to ChatGPT using a managed MCP server. Automate event creation, registrant workflows, and speaker management with AI.
- [Connect Swoogo to Claude: Sync Registration, Sessions, and Financials](https://truto.one/blog/connect-swoogo-to-claude-sync-registration-sessions-and-financials/) — Learn how to connect Swoogo to Claude using a managed MCP server. Automate event registration, session scheduling, and financial reconciliation workflows via AI.
- [Connect Swoogo to AI Agents: Manage Sponsors, Webhooks, and Events](https://truto.one/blog/connect-swoogo-to-ai-agents-manage-sponsors-webhooks-and-event-pages/) — Learn how to connect Swoogo to AI Agents using Truto's /tools endpoint. Generate framework-agnostic schemas, build autonomous workflows, and manage events.
