activate_course
ChatGPTActivate an existing course so it is available to students. For a newly generated course, first verify the module/lecture order, substantive lesson content and desktop/mobile rendering as described in describe_courses. Content-save acceptance alone is not readiness; leave the new course inactive if content is filler or rendering cannot be verified, and report what remains. This action fails if the course is already active or the user's active course limit has been reached.
activate_lecture
ChatGPTActivate an existing course lecture after its settings and page content are ready. This action fails if the lecture is already active.
activate_workflow
ChatGPTActivate a workflow owned by the authenticated user. Empty workflows can be activated, and activating an already active workflow leaves it active.
assign_contact_tag
ChatGPTAssigns a Tag to a Contact
create_automation_email
ChatGPTCreate a reusable automation email. The returned id is the identifier an automation rule or workflow send_email action refers to, so create the email before wiring the action. After it is created, reply with a short success summary. Do not print, paste, or restate the email body or its HTML.
create_automation_email_to_specific_address
ChatGPTCreate an automation email that sends to one configured recipient address. After it is created, reply with a short success summary. Do not print, paste, or restate the email body or its HTML.
create_automation_rule
ChatGPTCreates and immediately activates an automation rule. Referenced resource IDs must already exist; use the appropriate lookup tools to resolve them first. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/automation-rules/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
create_calendar_availability
ChatGPTCreates the authenticated user's global calendar availability. Use weekly slots for recurring availability and date-specific slots for exceptions on individual dates. Provide at least one slot across weeklyDailySettings and dateSpecificDailySettings. Unavailability range values must use local YYYY-MM-DDTHH:mm:ss values in the authenticated user's timezone, without an offset.
create_calendar_event
ChatGPTCreates a booking calendar event. Choose the event type at creation because it cannot be changed later. Use global availability or provide local availability, and provide only location fields that match each location type. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/calendar/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
create_campaign
ChatGPTCreate a campaign container. This tool does not create campaign steps or emails. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
create_campaign_step
ChatGPTAdd one new email step to an existing campaign. Do not use this tool to change an existing step: use update_campaign_step instead. Omit activation or send null to create an inactive step. Send an activation object to create a step that is already active and starts being sent to the campaign contacts, and pick its place with afterStepId, which is required inside that object and accepts null to put the step first. For an ordered email sequence, create steps strictly in their intended send order. Create the first step with afterStepId: null; for every following step, set afterStepId to the ID returned for the immediately preceding step. Never attach several emails in an ordered sequence to the same afterStepId: that creates sibling steps, and each later sibling may be inserted immediately after that same step instead of after the previous email. Use sibling steps only when the user explicitly wants a branching sequence. Set activation.delay to how long contacts wait before this step is sent. For the first active step (afterStepId: null), the delay starts when the contact subscribes to the campaign. For any other step, the delay starts after the previous active step is sent. For example, to send four steps on campaign days 0, 1, 2, and 3, create a chain with afterStepId values null, first-step ID, second-step ID, and third-step ID, and set their delays to 0, 1, 1, and 1 days, not 0, 1, 2, and 3 days. Delays are relative, not cumulative. Before reporting that an ordered sequence is complete, verify that the steps form the intended linear afterStepId chain. If a step needs correcting, use update_campaign_step; never delete and recreate it. An active step also validates the sender that will actually be used, which an inactive step does not. When content.senderEmail is omitted, that check runs against the account default sender, so a request carrying activation can fail even though the step data itself is correct. The failure arrives as a violation with an empty propertyPath saying the sender email address is not verified or not eligible for marketing sending. Retry the same request once with activation omitted, which creates the step as an inactive step. Do not use this fallback for a violation on content.senderEmail: that one fails for inactive steps too, and is retried by omitting that field instead. After it is created, reply with a short success summary and point the user to the campaign step dashboard link as the next action. Do not print, paste, or restate the email body or its HTML. When the step ended up inactive through that fallback, say so, and say that a verified sender email has to be configured before the step or the campaign can be activated. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns/{campaignId}/campaign-step/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
create_classic_course
ChatGPTCreate an inactive classic course for the authenticated user. Read describe_courses before starting to build the course. Use get_domains with workableOnly=true and get_course_themes to obtain valid domainId and themeId. Ask for the course name and path when they are not provided. The path must use only lowercase letters, numbers, hyphens, and underscores. After a successful call, show the user the course management link from courseEditUrl.
create_classic_lecture
ChatGPTCreate a lecture with an empty page in a classic membership course module. Lectures are appended; within one module, await each creation before creating the next lecture, never create them in parallel. Check each returned position against the intended order. Set active to true only when creating a new course that is still inactive. For an existing course, leave the lecture inactive, save and verify its complete page content, and then activate the lecture.
create_contact
ChatGPTCreates a Contact
create_coupon
ChatGPTCreates a coupon. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/coupons/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
create_course_module
ChatGPTCreate a module inside an existing membership course for the authenticated user. Modules are appended; within one course, await each creation before creating the next module, never create them in parallel. Check each returned position against the intended order. If the target course is ambiguous, first use course search or list tools. If the module name is missing, ask the user for it.
create_digital_product
ChatGPTCreates a digital product. Before creating, confirm the target area via source (funnel is the Funnel area, digital-store is the Creator stores area, Whitelabel is the whitelabel area), because it determines where the product is created and which fields are relevant; when the user has not specified the area, ask which one to use instead of guessing. Do not display or invent dashboard links for digital products; no public dashboard URL has been verified.
create_funnel
ChatGPTCreates a Funnel
create_funnel_step
ChatGPTCreates a Funnel Step. To generate the step page content, use the returned pageId with save_content.
create_newsletter
ChatGPTCreate a regular newsletter draft.
create_offer
ChatGPTCreates an offer. Use product and coupon IDs returned by their corresponding tools. Do not display or invent a dashboard link for offers; no public dashboard URL has been verified.
create_physical_product
ChatGPTCreates a physical product. Do not display or invent dashboard links for physical products; no public dashboard URL has been verified.
create_price_plan
ChatGPTCreates a price plan. Do not display or invent dashboard links for price plans; there is no public dashboard URL for price plans.
create_sms_template
ChatGPTCreates an SMS template. Select a sender first: use get_sms_phone_numbers for PHONE_NUMBER or get_sms_message_services for MESSAGE_SERVICE. If Twilio account not found (424) is returned, connect or activate Twilio and retry.
create_tag
ChatGPTCreates a Tag
create_workflow
ChatGPTCreate an inactive workflow for the authenticated user. The workflow is created empty; add steps through the Systeme.io interface before activation when the workflow requires actions.
create_workflow_step
ChatGPTAdd a supported trigger, action, or delay to a workflow. For send_email, use a reusable automation email ID from get_automation_emails or get_automation_email. For enroll_in_course, use a course ID from get_courses or get_course and module IDs from get_course_modules for partial access. Omit afterStepId or set it to null to insert without a predecessor; triggers accept the field but their placement is determined by the backend.
deactivate_course
ChatGPTDeactivate an existing course so it is not available to students. This action fails if the course is already inactive.
deactivate_lecture
ChatGPTDeactivate an existing course lecture so it is not available to students. This action fails if the lecture is already inactive.
deactivate_workflow
ChatGPTDeactivate a workflow owned by the authenticated user. Set stopTasks to true to stop its running tasks; repeated calls with stopTasks=true refresh the task cutoff timestamp.
delete_automation_rule
ChatGPTDeletes an automation rule. The rule stops firing and disappears from get and list results.
delete_calendar_event
ChatGPTPermanently deletes a booking calendar event so it no longer appears in event results or accepts new bookings. Ask the user to confirm the exact event before calling this tool.
delete_campaign
ChatGPTDelete a campaign and make its campaign steps inaccessible.
delete_campaign_step
ChatGPTPermanently delete a campaign step from an existing campaign. Call this tool only after the user explicitly asks to delete the exact step. Never use it to test activation settings, to recover from a validation error, or to replace a step: use update_campaign_step for changes to an existing step.
delete_coupon
ChatGPTDeletes a coupon.
delete_course
ChatGPTDelete an existing course owned by the authenticated user. Use only after the correct course has been identified.
delete_course_module
ChatGPTDelete a module from a membership course owned by the authenticated user. This also deletes all lectures in the module and may clean up related automation, workflow, and orphaned digital product resources. Use only after the correct course and module have been identified.
delete_digital_product
ChatGPTDeletes a digital product. Do not display or invent dashboard links for digital products; no public dashboard URL has been verified.
delete_lecture
ChatGPTDelete an existing membership course lecture. Use only after the correct course and lecture have been identified; deletion may remove related automation and workflow data.
delete_newsletter
ChatGPTDelete a newsletter so it no longer appears in newsletter results or can be retrieved by ID.
delete_physical_product
ChatGPTDeletes a physical product. Do not display or invent dashboard links for physical products; no public dashboard URL has been verified.
delete_price_plan
ChatGPTDeletes a price plan. Do not display or invent dashboard links for price plans; there is no public dashboard URL for price plans.
delete_sms_template
ChatGPTPermanently deletes an SMS template by ID. The template can no longer be used in new automations or workflows.
delete_workflow_step
ChatGPTDelete a workflow step. The backend reconnects the remaining execution chain when applicable.
describe_ai_theme_schema
ChatGPTReturns the AI theme contract of a squeeze page: the JSON Schema of the page theme object and the color pool its colors are chosen from. Only the squeeze page content type is supported; any other type returns an error.
describe_courses
ChatGPTCall once at the start of a session before creating or changing a course, then use the returned guide for the rest of that session. Returns guidance for Course, Module, and Lecture tools, including their hierarchy, operation order, required identifiers, course types, and supported constraints.
describe_funnel_page_schema
ChatGPTDEPRECATED compatibility tool. Do not use this tool for new work. To create or recreate funnel page content, use describe_page_template followed by save_page_content_from_template.
describe_funnels
ChatGPTRead this before creating a funnel. Returns supported funnel shapes, step types, offer setup, and the template-based content workflow. For each page, use describe_page_template followed by save_page_content_from_template; creating the funnel or its steps alone does not fill the pages.
describe_mailing_html_guide
ChatGPTReturn TipTap HTML rules for classic bodyHtml and HTML within visual bodyJson blocks. Call before generating or changing email HTML; for visual body structure also call describe_mailing_json_schema.
describe_mailing_json_schema
ChatGPTReturn the visual email JSON schema. Call before generating or changing visual content; for HTML within blocks also call describe_mailing_html_guide.
describe_mcp_instructions
ChatGPTReturns the shared MCP server instructions that define common follow-up question and answer style rules. Always call this tool before using other MCP tools.
describe_page_content_guide
ChatGPTReturns instructions for generating lecture page content. For a lecture, also read describe_page_schema, then submit the generated payload to save_content. Funnel creation and recreation use describe_page_template and save_page_content_from_template. For partial edits, use describe_page_edit_guide instead.
describe_page_edit_guide
ChatGPTReturns the protocol for editing the content of an existing page in place, for any page type that supports AI editing. Read this before the first call to get_page_editable_content or update_page_content in an editing session. It covers the required call order, how to resolve ordinals like "the second section", and the rule that every added element must be styled by a follow-up update_page_content call. Use the editing flow instead of save_content whenever the page already has content that should be preserved.
describe_page_schema
ChatGPTReturns the schema for generating lecture page content. For a lecture, also read describe_page_content_guide, then submit the generated payload to save_content. Funnel creation and recreation use describe_page_template and save_page_content_from_template. For partial edits, use describe_page_edit_guide instead.
describe_page_template
ChatGPTStart here to create or recreate funnel page content. Returns one template chosen by Page Editor; use funnelStepType from the input schema and pass the returned templateId unchanged to save_page_content_from_template. Read one template at a time, including every complete placeholder entry and its light, alpha, guidance and targets metadata. Do not reduce the received catalogue to the first few entries or batch large descriptions into a truncated result. If the full response is inaccessible, report the limitation and do not save an incomplete set of values. Layout, blocks, spacing and typography are fixed. Write content for each field's purpose and the page's specific topic, not one generic value per type or a keyword-based filler. Repeat wording only where the template requires matching values. A different template title or sample topic alone is not a reason to reject it. There is no template catalogue to browse. Read the required templates and ask missing factual questions together before creating entities or replacing content. If the template is unavailable or cannot truthfully fulfil the request, explain the limitation and leave the funnel content unsaved.
describe_payment
ChatGPTRead this before configuring anything related to selling on the platform. Returns the structure of Offers, products (digital and physical), price plans, coupons, and bumps, and how they connect.
get_automation_email
ChatGPTGet a single reusable automation email by ID, including its full body content.
get_automation_email_statistics
ChatGPTGet lifetime delivery and engagement statistics for one reusable automation email by ID. Returns zero metrics if the automation email has no statistics yet.
get_automation_email_statistics_list
ChatGPTGet reusable automation emails and their delivery and engagement statistics for a required inclusive send-date period in the user's timezone, up to 31 calendar days. Optionally search subjects case-insensitively. Results are paginated by automation email ID, newest first when order is omitted.
get_automation_email_statistics_overview
ChatGPTGet aggregate delivery and engagement statistics for reusable automation emails over an inclusive send-date period in the user's timezone, with one zero-filled bucket per day. The period must not be in the future, must be ordered, and cannot exceed 31 calendar days.
get_automation_email_to_specific_address
ChatGPTGet one specific-address automation email by ID, including its body content.
get_automation_emails
ChatGPTGet a lightweight paginated list of reusable automation emails. List items do not include body content; use get_automation_email for details. Use this tool to find the id of an existing automation email before referencing it from an automation rule or workflow send_email action.
get_automation_emails_to_specific_address
ChatGPTGet a lightweight paginated list of automation emails sent to specific addresses. List items do not include body content; use get_automation_email_to_specific_address for details.
get_automation_rule
ChatGPTGet a single Automation Rule by ID After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/automation-rules/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_automation_rules
ChatGPTLists automation rules with summary fields only. Use get_automation_rule to retrieve the complete configuration of a specific rule. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/automation-rules. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_available_payment_methods
ChatGPTGets the payment methods available to the current workspace for a supported currency. Use this before selecting payment methods for sale settings. Do not display or invent a dashboard link; this result has no dashboard page.
get_booking_calendar_bookings
ChatGPTGets a paginated list of bookings made for booking calendar events. There is no text search over bookings. To find the bookings of an event known by name, call get_booking_calendar_events with that name as the query, take the matching event id, and pass it here as eventId. Dates are interpreted and returned in the timezone of the authenticated user. Group event bookings are returned as one row per group slot without participant details. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/calendar/bookings. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_booking_calendar_events
ChatGPTGets a paginated list of booking calendar events and supports text search by event name.
get_calendar_availability
ChatGPTGets the authenticated user's global calendar availability, including recurring weekly slots, date-specific slots, and unavailable date ranges. Call this before replacing an availability collection so its current entries can be preserved.
get_calendar_event
ChatGPTGets the complete configuration of one booking calendar event by ID, including locations, availability, timezone, date range, and reminders. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/calendar/{eventId}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_campaign
ChatGPTGet a single campaign by ID. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_campaign_step
ChatGPTGet a single campaign step by ID, including its current activation settings. activation is null while the step is inactive. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns/{campaignId}/campaign-step/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_campaign_step_statistics
ChatGPTGet lifetime delivery and engagement statistics for one campaign step by ID. Returns zero metrics if the campaign step has no statistics yet.
get_campaign_step_statistics_list
ChatGPTGet campaign steps and their delivery and engagement statistics for a required inclusive send-date period in the user's timezone, up to 31 calendar days. Optionally search subjects case-insensitively. Results are paginated by campaign step ID, newest first when order is omitted.
get_campaign_step_statistics_overview
ChatGPTGet aggregate delivery and engagement statistics for campaign step emails over an inclusive send-date period in the user's timezone, with one zero-filled bucket per day. The period must not be in the future, must be ordered, and cannot exceed 31 calendar days.
get_campaign_steps
ChatGPTGet the email steps in an existing campaign. List items report whether a step is active but carry no activation settings; read them for one step with get_campaign_step. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns/{campaignId}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_campaigns
ChatGPTGet a lightweight paginated campaign list. List items do not include descriptions; use get_campaign for details. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_communities
ChatGPTList active communities owned by the authenticated account. Use query for a case-insensitive partial name search and domainId for an exact domain filter. Results are ordered newest first by default. Continue pagination using the last item's ID as startingAfter. The response includes an owner-only dashboard login URL and a public community URL; do not share the owner URL with community members.
get_contact
ChatGPTGet a single Contact by ID
get_contact_fields
ChatGPTGet a whole list of Contact Fields
get_contacts
ChatGPTGet a list of Contacts
get_coupon
ChatGPTGets a single coupon by ID. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/coupons/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_coupons
ChatGPTGets a paginated coupon list. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/coupons. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_course
ChatGPTGet a single course by ID. After a successful call, show the user the course management link from courseEditUrl.
get_course_lectures
ChatGPTList a course's modules and lectures. Use this to identify module and lecture IDs before creating, updating, activating, deactivating, or deleting a lecture. courseType determines whether classic lecture tools can be used.
get_course_module
ChatGPTGet a single membership course module by ID. Use this to verify a known module before a follow-up action.
get_course_modules
ChatGPTSearch and paginate the modules of the membership courses owned by the authenticated user. Without courseId it searches across all courses; pass courseId to narrow the result to one course. Returns only module-level data; lecture content is not included. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/courses. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_course_themes
ChatGPTGet a list of Course Themes available for creating or updating a Course
get_courses
ChatGPTSearch and paginate the current user's courses. Use get_course for full course details. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/courses. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_digital_product
ChatGPTGets a single digital product by ID. Do not display or invent dashboard links for digital products; no public dashboard URL has been verified.
get_digital_products
ChatGPTGets a paginated digital product list. Do not display or invent dashboard links for digital products; no public dashboard URL has been verified.
get_domains
ChatGPTGet a list of domains owned by the authenticated account. Use it to discover a valid domain ID before creating or updating a resource that must be published on a domain. Set workableOnly to true to keep only domains that can be used right now.
get_files
ChatGPTLists and searches active files available to the authenticated user in File Manager. Filter by supported file types and use the returned IDs when another tool requires an existing file.
get_funnel
ChatGPTGet a single Funnel by ID
get_funnel_step
ChatGPTGet a single Funnel Step by ID
get_funnel_steps
ChatGPTGet a list of Funnel Steps for a Funnel
get_funnels
ChatGPTGet a list of Funnels
get_lecture
ChatGPTGet a single membership course lecture by ID. Check editorType before choosing a lecture write tool because classic and light course lectures use different editing flows.
get_newsletter
ChatGPTGet a single newsletter by ID. Use this for full newsletter details, including body content.
get_newsletter_excluded_tags
ChatGPTGet the tags whose contacts are excluded from a newsletter audience. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_newsletter_included_tags
ChatGPTGet the tags whose contacts are included in a newsletter audience. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_newsletter_schedule
ChatGPTGet the current scheduled send date for a newsletter. A null date means the newsletter is not scheduled. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_newsletter_statistics
ChatGPTGet lifetime delivery and engagement statistics for one newsletter by ID. Returns zero metrics if the newsletter has not been sent. Split-test statistics are not included. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
get_newsletter_statistics_list
ChatGPTGet newsletters and their delivery and engagement statistics for a required inclusive send-date period in the user's timezone, up to 31 calendar days. Optionally search subjects case-insensitively. Results exclude split-test newsletters and are paginated by newsletter ID, newest first when order is omitted.
get_newsletter_statistics_overview
ChatGPTGet aggregate delivery and engagement statistics for regular newsletters over an inclusive send-date period in the user's timezone, with one zero-filled bucket per day. Split-test newsletters are excluded. The period must not be in the future, must be ordered, and cannot exceed 31 calendar days.
get_newsletters
ChatGPTGet a lightweight paginated newsletter list. List items do not include body content; use get_newsletter for details.
get_offer
ChatGPTGets a single offer by ID. Use an offer ID returned by a funnel step. Do not display or invent a dashboard link for offers; no public dashboard URL has been verified.
get_page_editable_content
ChatGPTReads the current entities of a page with their AI-editable properties. Call this first in any editing session — update_page_content may only target ids returned here or by a previous update_page_content. Entities, elements and components mean the same thing. Entities come back in pre-order DFS by each parent's childIds; add_library_element position is an index into that parent's childIds (0 inserts first, length appends), not an index into this flat array.
get_physical_product
ChatGPTGets a single physical product by ID. Do not display or invent dashboard links for physical products; no public dashboard URL has been verified.
get_physical_products
ChatGPTGets a paginated physical product list. Do not display or invent dashboard links for physical products; no public dashboard URL has been verified.
get_price_plan
ChatGPTGets a single price plan by ID. Do not display or invent dashboard links for price plans; there is no public dashboard URL for price plans.
get_price_plans
ChatGPTGets a paginated price plan list. Do not display or invent dashboard links for price plans; there is no public dashboard URL for price plans.
get_sale_settings
ChatGPTGets sale settings by external ID. Use the saleSettingsId returned by a funnel. Do not display or invent a dashboard link for sale settings; no public dashboard URL has been verified.
get_sms_message_services
ChatGPTGets Twilio message services available as SMS senders. Use a returned sid as messageServiceSid when creating or updating a MESSAGE_SERVICE SMS template. If Twilio account not found (424) is returned, connect or activate Twilio and retry.
get_sms_phone_numbers
ChatGPTGets E.164 phone numbers available as SMS senders. Use one as phoneNumber when creating or updating a PHONE_NUMBER SMS template. If Twilio account not found (424) is returned, connect or activate Twilio and retry.
get_sms_template
ChatGPTGets one SMS template by ID, including its content and configured sender.
get_sms_templates
ChatGPTGets a paginated SMS template list and optionally filters it by template name.
get_tag
ChatGPTGet a single Tag by ID
get_tags
ChatGPTGet a list of Tags
get_workflow
ChatGPTGet one workflow owned by the authenticated user by its ID.
get_workflow_steps
ChatGPTList every supported step in a workflow in backend execution order. This unpaginated tool returns an error for workflows with more than 100 steps or unsupported structures.
get_workflows
ChatGPTSearch and paginate workflows owned by the authenticated user. Use get_workflow to inspect a known workflow by ID.
move_funnel_step
ChatGPTMoves a funnel step to a new 1-based position among the funnel's other steps; the other steps shift to keep the order dense. Use get_funnel_steps first to check the current order and pick the target position. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/funnels. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
remove_contact
ChatGPTRemoves a Contact
remove_contact_tag
ChatGPTRemoves a Tag from a Contact
remove_tag
ChatGPTRemoves a Tag
save_content
ChatGPTSaves one full generated Page Editor payload. Use instructions in mcp resource: page-editor://version-1/instruction
save_funnel_page_content
ChatGPTDEPRECATED compatibility tool. Do not use this tool for new work. For funnel pages, use describe_page_template followed by save_page_content_from_template. For partial edits, use describe_page_edit_guide instead.
save_page_content_from_template
ChatGPTFills the template returned by describe_page_template, replacing all content of an existing page. Before saving, review every value against its field description and page topic, including related pairs such as title/author and matching desktop/mobile text. Do not submit generic filler or instructions to add real content later. If required facts are missing, ask the user; never invent testimonials, team members, partners or case studies. Page Editor checks ownership, revision and values before writing, so a rejected call leaves the page unchanged. Correct validation errors within the template flow; do not fall back to save_content for funnel pages. Success means acceptance for processing, not completed saving, images or rendering. Verify desktop/mobile rendering before reporting the page ready; if unavailable, report it as accepted but unverified. This does not create a page: use pageId from a funnel step. Never use this tool for a lecture. For partial edits, use describe_page_edit_guide instead.
search_funnel_steps
ChatGPTSearch funnel steps across all funnels owned by the authenticated user. Use this to discover a sales funnel step ID before a course operation. Filtering by a type only narrows discovery results; it does not guarantee that the step is valid for every course or automation operation. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/funnels. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
send_newsletter
ChatGPTSend an existing newsletter to its configured audience. This action sends email and cannot be undone. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
send_test_campaign_step
ChatGPTSend a test version of an existing campaign step to the specified email address. This action sends email and cannot be undone. A successful result confirms that the request was accepted for processing, not that the email was delivered. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns/{campaignId}/campaign-step/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
send_test_newsletter
ChatGPTSend a test version of an existing, unsent newsletter to the specified email address. This action sends email and cannot be undone. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
set_newsletter_excluded_tags
ChatGPTReplace the complete excluded-tag list for a newsletter. Provide every tag that should remain excluded; an empty list clears it. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
set_newsletter_included_tags
ChatGPTReplace the complete included-tag list for a newsletter. Provide every tag that should remain included; an empty list clears it. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
set_newsletter_schedule
ChatGPTSet the scheduled send date for an unsent newsletter, or provide null to remove its current schedule. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/newsletters/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
update_automation_email
ChatGPTUpdate selected fields of an existing reusable automation email. Omitted fields keep their current values, and the id never changes. Every automation rule action and workflow send_email action that already refers to this email starts using the updated content. After it is updated, reply with a short success summary. Do not print, paste, or restate the email body or its HTML.
update_automation_email_to_specific_address
ChatGPTUpdate a specific-address automation email. Omitted fields remain unchanged. After it is updated, reply with a short success summary. Do not print, paste, or restate the email body or its HTML.
update_automation_rule
ChatGPTPartially updates an automation rule. Only the provided fields change; a provided triggers or actions list replaces the existing one as a whole. Referenced resource IDs must already exist. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/automation-rules/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
update_calendar_availability
ChatGPTPartially updates the authenticated user's global calendar availability. Omitted fields stay unchanged, null clears a nullable value, and each provided collection replaces its complete current collection. Call get_calendar_availability first when changing only some entries in an existing collection. After applying the update, at least one slot must exist across weeklyDailySettings and dateSpecificDailySettings. Unavailability range values must use local YYYY-MM-DDTHH:mm:ss values in the authenticated user's timezone, without an offset.
update_calendar_event
ChatGPTPartially updates a booking calendar event. Only provided fields change, explicit null clears nullable fields, arrays replace their existing values, and the event type cannot be changed. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/calendar/{eventId}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
update_campaign
ChatGPTUpdate selected fields of an existing campaign. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
update_campaign_step
ChatGPTUpdate selected fields of an existing campaign step. Use this tool, rather than deleting and recreating a step, to change its content, state, or activation settings. A campaign step being updated may be in the inactive or active state. activation drives the activation lifecycle: omit it to keep the current activation, send null to deactivate the step, or send a non-empty object to activate an inactive step or to change the settings of an already active one. Inside that object, omitted fields keep their current values, but delay has to be sent in full with both value and unit. To build or repair an ordered sequence, first set the intended first email's activation.afterStepId to null. Then, in send order, set every following email's activation.afterStepId to the ID of the immediately preceding email. For example, a four-email sequence uses afterStepId values null, first-step ID, second-step ID, and third-step ID. Do not attach several ordered emails to the same afterStepId: that creates sibling steps rather than a linear sequence. Verify the resulting chain before reporting success. If changing an existing step is sufficient, do not delete and recreate it. After it is updated, reply with a short success summary and point the user to the campaign step dashboard link as the next action. Do not print, paste, or restate the email body or its HTML. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/campaigns/{campaignId}/campaign-step/{id}/edit. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
update_classic_course
ChatGPTUpdate selected settings of an existing classic course. Use this only after the correct course and any referenced domain, theme, funnel step, or file have been identified. Omitted fields stay unchanged; explicit null clears supported nullable fields. Light courses are not supported. After a successful call, show the user the course management link from courseEditUrl.
update_classic_lecture
ChatGPTUpdate settings of an existing classic membership course lecture. Use only after the correct lecture has been identified and confirmed as classic_course. This does not edit page content, move the lecture, or change its activation state.
update_contact
ChatGPTUpdates a Contact
update_coupon
ChatGPTUpdates a coupon. After calling this tool, show the user the final dashboard link: https://systeme.io/dashboard/coupons/{id}. Replace placeholders with matching tool result fields or input arguments. Do not show raw IDs, placeholders, or other internal values instead of the link.
update_course_module
ChatGPTUpdate the name of an existing membership course module for the authenticated user. Use this only after the correct module has been identified. Module position and sales funnel step assignment are not supported.
update_digital_product
ChatGPTUpdates a digital product. Provided resource and price plan arrays replace their existing values. Do not display or invent dashboard links for digital products; no public dashboard URL has been verified.
update_newsletter
ChatGPTUpdate a regular newsletter draft.
update_offer
ChatGPTUpdates an offer returned by a funnel step. Provided bumps and coupons replace their existing values. Do not display or invent a dashboard link for offers; no public dashboard URL has been verified.
update_page_content
ChatGPTApplies add_library_element, update_entity and/or remove_node actions to an existing page and returns the resulting entities. Call get_page_editable_content first; never target an id created earlier in the same actions array, or one you invented. Only set properties you saw on that entity in get_page_editable_content — which properties are editable varies by page type and entity type, and unknown ones are rejected. After every add_library_element you MUST make a follow-up call with update_entity on the new ids to match the page styles — leaving toolbox defaults is not a finished result. Call describe_page_edit_guide for the full protocol. An invalid payload is rejected with a validation error naming the offending path; read it and retry rather than guessing.
update_physical_product
ChatGPTUpdates only the supplied fields of a physical product. Supplying images, options, or productVariants replaces that entire array. Do not display or invent dashboard links for physical products; no public dashboard URL has been verified.
update_price_plan
ChatGPTUpdates a price plan. Do not display or invent dashboard links for price plans; there is no public dashboard URL for price plans.
update_sale_settings
ChatGPTUpdates sale settings using the saleSettingsId returned by a funnel. Provided payment methods replace their existing values; use get_available_payment_methods before selecting them. Do not display or invent a dashboard link for sale settings; no public dashboard URL has been verified.
update_sms_template
ChatGPTPartially updates an SMS template. Omit fields to keep them unchanged; use null only to clear a nullable sender field. If Twilio account not found (424) is returned, connect or activate Twilio and retry.
update_tag
ChatGPTUpdates a Tag
update_workflow_step
ChatGPTFully replace a workflow step configuration. For send_email, use a reusable automation email ID from get_automation_emails or get_automation_email. For enroll_in_course, use a course ID from get_courses or get_course and module IDs from get_course_modules for partial access. The step ID, outer kind, and position are immutable and are not accepted in the replacement configuration.
assign_contact_tag
Claudecreate_automation_rule
Claudecreate_campaign
Claudecreate_campaign_step
Claudecreate_contact
Claudecreate_coupon
Claudecreate_digital_product
Claudecreate_funnel
Claudecreate_funnel_step
Claudecreate_newsletter
Claudecreate_price_plan
Claudecreate_tag
Claudedelete_automation_rule
Claudedelete_campaign
Claudedelete_campaign_step
Claudedelete_coupon
Claudedelete_digital_product
Claudedelete_price_plan
Claudedescribe_funnel_page_schema
Claudedescribe_funnels
Claudedescribe_mcp_instructions
Claudedescribe_page_content_guide
Claudeget_automation_rule
Claudeget_automation_rules
Claudeget_booking_calendar_events
Claudeget_campaign
Claudeget_campaign_step
Claudeget_campaign_steps
Claudeget_campaigns
Claudeget_contact
Claudeget_contact_fields
Claudeget_contacts
Claudeget_coupon
Claudeget_coupons
Claudeget_digital_product
Claudeget_digital_products
Claudeget_funnel
Claudeget_funnel_step
Claudeget_funnel_steps
Claudeget_funnels
Claudeget_newsletter
Claudeget_newsletter_excluded_tags
Claudeget_newsletter_included_tags
Claudeget_newsletters
Claudeget_price_plan
Claudeget_price_plans
Claudeget_sms_templates
Claudeget_tag
Claudeget_tags
Clauderemove_contact
Clauderemove_contact_tag
Clauderemove_tag
Claudesave_content
Claudesave_funnel_page_content
Claudeset_newsletter_excluded_tags
Claudeset_newsletter_included_tags
Claudeupdate_automation_rule
Claudeupdate_campaign
Claudeupdate_campaign_step
Claudeupdate_contact
Claudeupdate_coupon
Claudeupdate_digital_product
Claudeupdate_newsletter
Claudeupdate_price_plan
Claudeupdate_tag
Claude