swarmtix_events_duplicate
Copies an event's setup into a new unpublished draft, without its dates, orders or attendees
swarmtix_events_duplicate
Copies an event's setup into a new unpublished draft and returns the new event's id and URL slug. The copy carries the original's description, branding, location and host details, gets a URL slug of its own, and takes a name ending in " - new".
When you would reach for it
- Season rollover — last year's event as this year's starting point.
- A series — one event per city, all sharing a description and branding.
- A safe sandbox — a copy to experiment on rather than the live event.
Since editing an existing event's own details is not available through MCP, duplicating is how an assistant reuses a description, a venue or a host block.
Scope
events:write
Calling this twice makes two copies. It is not idempotent. If a call times out, list your events before calling again.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
event | string | Yes | — | The event's id (a GUID) or its URL slug — the event to copy. |
What the copy carries, and what it does not
| Carried across | Not carried |
|---|---|
| Description and summary | The original's scheduled dates |
| Branding and layout | Orders |
| Location and venue details | Attendees and sold tickets |
| Host name, email and phone | Publication status — the copy is always a draft |
| Currency and timezone | The original's URL slug — the copy gets its own |
The copy is a draft even when the original is published.
Example call
{
"name": "swarmtix_events_duplicate",
"arguments": { "event": "spring-summit-2026" }
}What comes back
{
"id": "5d0a73f6-91b4-4c28-ae5f-38c7160b9e42",
"slug": "swt5d0a73f691b44c28ae5f38c7160b9e42",
"name": "Spring Summit 2026 - new",
"published": false,
"status": "NoEventStartDate",
"organizationId": "e3a58c71-6b04-4d29-9f8e-2c71a05b4d63"
}| Field | What it is |
|---|---|
id | The new event's id |
slug | Its own URL slug — a generated swt… string, not one derived from the name |
name | The original's name with " - new" appended |
published | Always false |
status | The setup stage the copy has reached — always NoEventStartDate, because the copy has no dates |
organizationId | The organisation the copy landed in |
The name and slug are not parameters. Pass the generated slug back to the other tools as-is, and give the copy a readable name and address in the dashboard before you publish it.
What happens when you call it
- The source event is resolved through the edit gate, not the read gate. Reading an event and editing one are different permissions in this product, and duplicating is an edit.
- The copy is made from the source event's slug — taken from the resolved event, not from your argument, which may have been an id.
- The new row is fetched back and its organisation is checked as well as the original's. The copy inherits the source's organisation, so if that ever stopped being yours the tool would have produced a row you cannot see, and it refuses rather than hand you a link to it.
- The stored row is checked for being a draft. If it is not, the tool refuses rather than report one it did not produce.
- The six fields above are returned.
Troubleshooting
"Event not found, or this connection does not have access to it."
Three causes share this sentence:
- The event does not exist.
- It belongs to a different organisation than this connection covers.
- The authorizing organizer can see the event but is not permitted to edit it. Duplicating goes through the edit check every editing screen in the dashboard applies, and a team member with a read-only role gets the same sentence on purpose — being told which of the two it was would reveal that the event exists.
swarmtix_teams_list shows the role this organizer holds.
The copy has no dates
Expected. Dates are not carried across. Set them with swarmtix_event_dates_set.
The copy has no ticket types either
Check with swarmtix_ticket_types_list, and add what is missing with swarmtix_ticket_types_create.
"Swarmtix created this event but it is not a draft, and this connection only creates drafts. The event is in the Swarmtix dashboard; unpublish or delete it there."
The copy came back published. Copying an event copies its row wholesale, so this is the case that has to be guarded rather than assumed — the tool refuses rather than describe a live event as a draft. The copy exists: find it in the dashboard, unpublish or delete it, and tell support.
"This connection is not authorized for events:write. Reconnect and grant it to use this tool."
Reconnect and approve events:write.
"Swarmtix could not complete this request. Nothing was changed."
The copy failed. Nothing partly applied, so calling again is safe — but list your events first if you are unsure, since a second successful call makes a second copy.
Use cases
- Annual event — duplicate, re-date, re-price, review, publish by hand
- Touring series — one copy per venue
- Template event — a permanent draft that is copied rather than edited
- Before a risky change — duplicate first, experiment on the copy