lemonvite_add_contacts
ChatGPTUse this when the user wants people saved to their Lemonvite contact list (address book) for future invitations without inviting them to an event now; to invite people, use lemonvite_add_guests or lemonvite_invite_contacts. Send the whole list in one call of up to 50 contacts; each needs at least a name, email or phone, and a malformed email or phone fails only its own contact. Contacts are matched by email or phone: one whose email or phone is already saved is not saved again, but a name-only contact is saved every time, so search before saving it again. The contacts page on Lemonvite shows the result. Nobody is messaged. The address book holds at most 2000 contacts; a batch that would pass that saves nothing.
lemonvite_add_guests
ChatGPTUse this when the user wants people actually added to the guest list of an existing Lemonvite invitation; do not use it while the user is only brainstorming whom to invite. Send the whole list in one call of up to 50 guests, not one call per guest; each needs at least a name, email or phone. Get event_id from lemonvite_list_invitations. On a published invitation, new guests with an email or phone are invited immediately; on a draft, invitations go out at publish. Adding a guest by phone requires host_confirms_sms_consent=true, meaning the host confirmed these people agreed to receive SMS about this event. The total guest_limit applies to drafts too; only support can raise it. On a draft, phone guests beyond the phone allowance are settled when publishing. On a published invitation they return payment_required for the whole call, and none of its guests is saved: explain the new phone allowance and the credits it uses. If the account has enough credits, retry only the unsaved guests with authorized_credits after explicit host confirmation. Otherwise: The host can continue on Lemonvite at the invitation's manage_url. Each guest gets its own result; an invalid or already-invited guest fails alone without stopping the others. To fix an existing guest use lemonvite_update_guests.
lemonvite_create_invitation
ChatGPTUse this when the user wants an actual Lemonvite invitation or RSVP page for an event, party, celebration or gathering: create an invitation, make an invite, set up RSVPs, or use an invitation image created or selected in this conversation (pass it as invitation_image). It creates a DRAFT only and does not publish or contact anyone during this call. Optional invitation_image downloads and stores the supplied artwork; optional reminder_date schedules a later email to the host through the reminders service. Do not call it merely because invitation wording or images are being discussed. Required: title, event_type, start_datetime, timezone and, for in-person events, location_name (a venue name; the address is optional). Everything else can be added later with lemonvite_update_invitation. If a required detail is missing or invalid, nothing is created and the error names the field to ask the user about. Next steps: lemonvite_add_guests to invite people, then lemonvite_publish_invitation to go live.
lemonvite_edit_design
ChatGPTUse this when the user wants a change to the invitation's CURRENT artwork rather than a new design — "make the sky a sunset", "change the balloons to gold", "remove the banner at the bottom". Lemonvite's design engine applies the request to the existing artwork and leaves everything else as it is. Put the user's request in edit_request in their own words; do not rewrite it into a design brief. Each call spends one of the host's design generations (same as lemonvite_generate_design) and REPLACES the current artwork (the previous version stays in the event's design history on the website), so confirm with the user before calling it. The invitation must already have artwork that is not a GIF and has no text or image layers added in the web editor (those are edited on the website); to create artwork from scratch use lemonvite_generate_design, and to attach an image this assistant made use invitation_image on lemonvite_update_invitation. Get event_id from lemonvite_list_invitations.
lemonvite_generate_design
ChatGPTUse this when the user wants Lemonvite's design engine to create the invitation artwork, because this assistant cannot make images or because the user asked for a Lemonvite design. Never call it merely because designs or themes are being discussed. Write design_brief as art direction: theme, colours, mood, motifs, style. The date, time and venue are lettered onto the design automatically, so the brief need not repeat them; set include_event_details to false only when the user wants artwork without them. A reference_image from the conversation guides style, subject and palette together with the brief and is not stored as the artwork. To change the current artwork rather than start over, use lemonvite_edit_design; to attach an image this assistant already made, use invitation_image on lemonvite_update_invitation. Each call spends one design generation and REPLACES the current artwork (earlier designs stay in the event's design history on the website), so confirm with the user first. lemonvite_get_account shows how many are left.
lemonvite_get_account
ChatGPTUse this when the user asks which Lemonvite account is connected, how many credits it has, or how many design generations are left. credits is the account's shared balance: publishing an invitation uses one, and each extra batch of phone guests uses one more. generations_remaining is how many more designs lemonvite_generate_design and lemonvite_edit_design can make; it does not reset over time. For what one invitation needs to publish, use lemonvite_get_invitation (required_credits) instead.
lemonvite_get_invitation
ChatGPTUse this when the user wants the full current state of one Lemonvite invitation: its details, publication and payment status, credits needed to publish, guest and RSVP counts, custom fields and guest settings. Co-hosts can read it too. Get event_id from lemonvite_list_invitations. Check payment_status here before calling lemonvite_publish_invitation. For each guest's response use lemonvite_list_guests instead, and for RSVP counts alone use lemonvite_get_rsvp_summary.
lemonvite_get_rsvp_summary
ChatGPTUse this when the user asks how many guests are going, declined, maybe or have not replied, or how many adults and children are coming to a Lemonvite event. Counts are read live and cover active guests only; removed guests are excluded. Each guest counts once under their RSVP status. adults_going and kids_going add up the party sizes of guests who said yes, so plus-ones are included. Once the invitation is published it also returns the public RSVP link. Get event_id from lemonvite_list_invitations; it is the event's id, not a guest invitation_id. To see which guest said what, use lemonvite_list_guests instead.
lemonvite_invite_contacts
ChatGPTUse this when the user wants people from their Lemonvite contact list added to an invitation's guest list, e.g. "find Alice in my contacts and invite her". Find contact_ids with lemonvite_search_contacts first; this tool takes the saved name, email and phone from the contact, so never retype them. Up to 50 contacts per call. It behaves like lemonvite_add_guests: already-invited contacts fail alone and the guest_limit applies. On a published invitation, phone guests beyond the phone allowance return payment_required for the whole call, and none of its guests is saved: explain the new phone allowance and the credits it uses; if the account's credits cover it, retry with authorized_credits after explicit host confirmation. Otherwise: The host can continue on Lemonvite at the invitation's manage_url. On a published invitation the added contacts are invited immediately. Contacts with a phone number require host_confirms_sms_consent=true, meaning the host confirmed they agreed to receive SMS about this event.
lemonvite_list_guests
ChatGPTUse this when the user wants to see who is on a Lemonvite invitation and how each guest responded: RSVP status, party size (adults and kids), note, answers to the host's custom RSVP questions (dietary restrictions, meal choice), contact details, whether they opened the invitation, and their personal invite link. Returns every active guest in one response, without paging and in no particular order; removed guests are not included. invite_url stays null until the invitation is published. Pass rsvp_status to narrow the list (pending answers "who has not responded"); omit it for everyone. Get event_id from lemonvite_list_invitations. Each guest's invitation_id is what lemonvite_update_guests and lemonvite_remove_guests take. For counts only, use lemonvite_get_rsvp_summary instead.
lemonvite_list_invitations
ChatGPTUse this when the user wants to find or pick one of their Lemonvite invitations, or when you need the event_id of an event they mention. Returns every event the connected account created or co-hosts (drafts, published and cancelled) in one response, without paging. Events are split into upcoming and past by whether their date has passed, each list newest-created first. Upcoming items carry the title, publish_status, start time, active guest count and how many are going; past items carry only the event_id, title and start time. This is a summary for choosing an event: for one invitation's full details use lemonvite_get_invitation, and for its guests use lemonvite_list_guests.
lemonvite_publish_invitation
ChatGPTUse this when the user explicitly wants their Lemonvite invitation made live. It opens the RSVP page to guests and DELIVERS the invitation to every guest with a pending email or phone invitation, so it contacts people outside this conversation: call it only when the user's intent to go live and send is clear, never merely because a draft exists. Before calling, read payment_status and required_credits with lemonvite_get_invitation. Publishing uses required_credits from the account's credits: review that with the host and pass authorized_credits only after the host agrees. If payment_status is payment_required: The host finishes publishing on Lemonvite at the invitation's manage_url. Only the event's primary host can publish; a co-host gets an error. Cancelled events cannot be published. Calling it on an already-published invitation is a safe no-op.
lemonvite_remove_contacts
ChatGPTUse this when the user wants people deleted from their Lemonvite contact list (address book). Takes up to 50 contact_ids from lemonvite_search_contacts. Deletion is permanent and cannot be undone here; the contacts are not notified. Ids that match no contact of this account are counted in not_found. It does not take anyone off an invitation's guest list; use lemonvite_remove_guests for that.
lemonvite_remove_guests
ChatGPTUse this when the user wants guests taken off a Lemonvite invitation. On a draft the guest is deleted permanently. On a published invitation the guest is archived: their invite link stops working, they drop out of guest counts and RSVP totals, and the host can restore them on the Lemonvite website; a removed phone guest still counts toward the phone allowance. Guests are not notified. Get invitation_ids from lemonvite_list_guests. Do not remove a guest just to fix their details; use lemonvite_update_guests instead.
lemonvite_search_contacts
ChatGPTUse this when the user refers to people in their Lemonvite contact list (address book): to find someone ("find Alice in my contacts"), to check whether a contact is saved, or to get contact_ids before inviting contacts with lemonvite_invite_contacts or deleting them with lemonvite_remove_contacts. query matches any part of a contact's name, email or phone, ignoring case. Returns up to 50 contacts sorted by name, plus the total match count; when there are more, narrow the query or send the host to their contacts page on Lemonvite. Only the connected account's own contacts are searched. To see who is on an invitation, use lemonvite_list_guests.
lemonvite_update_guests
ChatGPTUse this when the user wants to fix saved guests on a Lemonvite invitation: a name, email or phone number. Send up to 50 in one call; only the fields you pass change, and an empty string clears one. Get each invitation_id from lemonvite_list_guests. Changing contact details does not re-send the invitation, but on a published invitation, adding an email or phone to a guest who had none sends the invitation there. Adding a phone to a guest who had none requires host_confirms_sms_consent=true. On a published invitation a new phone can exceed the phone allowance and return payment_required: explain the larger allowance and the credits it uses, and retry with authorized_credits only after the host agrees. If the account's credits do not cover it: The host can continue on Lemonvite at the invitation's manage_url. Each guest gets its own result, so one failure does not stop the others. To add new guests use lemonvite_add_guests; to take someone off the list use lemonvite_remove_guests.
lemonvite_update_invitation
ChatGPTUse this when the user asks to change a saved Lemonvite invitation: its title, description, date and time, location, host details, RSVP and guest settings, custom fields, or artwork (pass a new invitation_image). Only the fields you pass change; omitted fields keep their saved values. Read the current values with lemonvite_get_invitation first, especially before changing custom_fields: that list replaces the saved one, and a saved field left out is deleted with its guest answers. On a published invitation the public RSVP page shows the change on its next load, and guests are not notified. Do not call it merely to discuss possible changes. To create a new event use lemonvite_create_invitation; for new artwork from the design engine use lemonvite_generate_design or lemonvite_edit_design; to go live use lemonvite_publish_invitation.