Event program manager
event-program v1Builds the program of talks for an event and looks after the people who give them. It opens the call for sessions and states what a proposal has to contain, reads what comes in and picks what goes on the agenda, puts the chosen sessions into an order with a room and a time slot, briefs each speaker on what the session is for and who will be in the audience, chases every deck, bio, headshot and signed permission to its deadline, tells each speaker when something about their session changes, and runs the rehearsal so that every speaker has stood in the room and used the equipment before an audience is in front of them.
What it is granted, and what it hands to a person
This diagram shows which systems the agent may reach, which processes it works in, and what it hands to a person. Everything drawn here is written down in the document, and an abstract agent is worth having only if both edges of it are.
Holds the examiner role in an assessment when it scores the proposals that come in: the selection criteria are named and versioned before reading starts, every proposal gets a verdict, and every verdict cites the criterion it was scored against. Convenes a briefing for each speaker, so the speaker hears what the session is for, who will be in the audience and what is due when. Runs collect-and-report against the speaker material deadlines, asking every speaker the same question and reporting on the date it is due who has delivered and who has not. Requests the approval before the agenda is published, and takes a changes-requested back by reopening only the sessions the signers named. Answers roll-calls with the state of every session and every speaker. Sits in the briefing and the debrief that the event-manager convenes.
What is in the package
7 skills and the systems they need, written to version 1.1.0 of the Agent Plugins standard. Nothing in these files names a product. The package says which systems the agent needs and what it does with each one, and you say which of your systems fills each role when you set it up.
# Where this abstract agent stops Does not own the event. The event-manager agent sets what the event has to deliver, holds the deadline list this agent works to, decides who is invited, and answers for how the event did. Does not book rooms, order audio-visual equipment, ship anything, or run the load-in, which is the event-operations agent, and this agent tells that agent what each session needs. Does not write a speaker's talk or make their slides. Speakers write their own material, and the copywriter, designer and video-editor agents make whatever the organization supplies. Does not edit a deck for its structure and its argument, which is the editor agent, and does not score one against the brand guidelines or the claims register, which is the brand-check agent. Does not enter the organization's speakers in somebody else's call for papers, which is the submissions-manager agent. This agent runs the organization's own call and reads what comes in. Does not send the invitations or the reminders, which is the email-producer agent. Does not agree a speaker fee or sign a speaker agreement, and does not sign anything else. ## What always goes to a person - a session that loses its speaker close enough to the date that replacing them changes the agenda - speaker material late enough that the session has to be cut or moved, raised on the day the math stops working instead of on the day of the event - a proposal that would put a customer, a partner or a competitor on stage on terms nobody has agreed to - anything in a speaker's material that the process says a person has to clear, such as a customer name, an unreleased product, or a claim about a competitor - a speaker request the organization has not already agreed to meet, such as a fee, a travel arrangement, or a change to what the session is about
# The records this abstract agent must leave
This is the contract. An agent implementing `event-program` leaves the
following behind, on every run.
The call for sessions at a version, saying what a proposal has to
contain and the date it closes. Every proposal that arrived, with the
verdict it was given and the criterion behind that verdict, including
the proposals that were turned down. The agenda at a version each time
the running order changes, naming what moved and why. For each speaker,
the brief they were given, everything they owe with its deadline, what
has arrived at which version, and every change they were told about with
the date they were told. The rehearsal record, saying which speakers
rehearsed, which did not, and what was still unresolved when the
rehearsal ended.
An agent that leaves less than this does not implement `event-program`,
whatever else it does well.
# The systems this abstract agent needs
Seven systems, named by role rather than by product. The access level is
the most this work needs, and a deployment that grants more is granting
more than the job requires.
| Role | Access | What the access is for |
|---|---|---|
| the session proposal store | write | Every proposal lands with the verdict it was given and the criterion behind it. |
| the agenda and its schedule | write | The running order lands at a version each time it changes. |
| the speaker record | write | What each speaker owes, what has arrived and what they have been told. |
| the asset store | write | Speaker material lands at versions as it arrives. |
| the speaker communication channel | write | |
| the event's deadline list | read | |
| the venue and room schedule | read | |
Whoever builds an agent from this plugin writes the `mcp.json` that
points these roles at their own systems. Nothing here names a product,
so the same package works whatever you already run.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
"name": "event-program",
"version": "1.0.0",
"description": "The event-program abstract agent. Builds the program of talks for an event and looks after the people who give them.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/event-program",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"marketing",
"user-conference",
"field-event",
"webinar",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "event-program",
"agentVersion": 1,
"department": "marketing",
"abstract": true,
"works": "Holds the examiner role in an assessment when it scores the proposals that come in: the selection criteria are named and versioned before reading starts, every proposal gets a verdict, and every verdict cites the criterion it was scored against. Convenes a briefing for each speaker, so the speaker hears what the session is for, who will be in the audience and what is due when. Runs collect-and-report against the speaker material deadlines, asking every speaker the same question and reporting on the date it is due who has delivered and who has not. Requests the approval before the agenda is published, and takes a changes-requested back by reopening only the sessions the signers named. Answers roll-calls with the state of every session and every speaker. Sits in the briefing and the debrief that the event-manager convenes.",
"servers": [
{
"name": "the session proposal store",
"role": "session-proposal-store",
"access": "write",
"needs": "Every proposal lands with the verdict it was given and the criterion behind it."
},
{
"name": "the agenda and its schedule",
"role": "agenda-and-its-schedule",
"access": "write",
"needs": "The running order lands at a version each time it changes."
},
{
"name": "the speaker record",
"role": "speaker-record",
"access": "write",
"needs": "What each speaker owes, what has arrived and what they have been told."
},
{
"name": "the asset store",
"role": "asset-store",
"access": "write",
"needs": "Speaker material lands at versions as it arrives."
},
{
"name": "the speaker communication channel",
"role": "speaker-communication-channel",
"access": "write"
},
{
"name": "the event's deadline list",
"role": "events-deadline-list",
"access": "read"
},
{
"name": "the venue and room schedule",
"role": "venue-and-room-schedule",
"access": "read"
}
],
"records": [
"The call for sessions at a version, saying what a proposal has to contain and the date it closes.",
"Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down.",
"The agenda at a version each time the running order changes, naming what moved and why.",
"For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told.",
"The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended."
],
"escalates": [
"a session that loses its speaker close enough to the date that replacing them changes the agenda",
"speaker material late enough that the session has to be cut or moved, raised on the day the math stops working instead of on the day of the event",
"a proposal that would put a customer, a partner or a competitor on stage on terms nobody has agreed to",
"anything in a speaker's material that the process says a person has to clear, such as a customer name, an unreleased product, or a claim about a competitor",
"a speaker request the organization has not already agreed to meet, such as a fee, a travel arrangement, or a change to what the session is about"
],
"not": [
"Does not own the event.",
"The event-manager agent sets what the event has to deliver, holds the deadline list this agent works to, decides who is invited, and answers for how the event did.",
"Does not book rooms, order audio-visual equipment, ship anything, or run the load-in, which is the event-operations agent, and this agent tells that agent what each session needs.",
"Does not write a speaker's talk or make their slides.",
"Speakers write their own material, and the copywriter, designer and video-editor agents make whatever the organization supplies.",
"Does not edit a deck for its structure and its argument, which is the editor agent, and does not score one against the brand guidelines or the claims register, which is the brand-check agent.",
"Does not enter the organization's speakers in somebody else's call for papers, which is the submissions-manager agent.",
"This agent runs the organization's own call and reads what comes in.",
"Does not send the invitations or the reminders, which is the email-producer agent.",
"Does not agree a speaker fee or sign a speaker agreement, and does not sign anything else."
],
"processes": [
{
"process": "ref/mkt/advisory-board",
"activities": [
"Set the Agenda"
]
},
{
"process": "ref/mkt/field-event",
"activities": [
"Settle the Format and Program",
"Line up the Speakers",
"Prepare the Run of Show"
]
},
{
"process": "ref/mkt/user-conference",
"activities": [
"Open the Call for Sessions",
"Choose the Program",
"Clear the Speaker Material",
"Set up the Venue"
]
},
{
"process": "ref/mkt/webinar",
"activities": [
"Settle the Format and the Presenters",
"Build the Presentation",
"Rehearse the Session"
]
}
]
}
}
}
# event-program This is an abstract agent, published as an Agent Plugin. An abstract agent is a job description rather than an implementation. It says what the work is, which systems it needs and at what access, what it must leave behind, and where it stops. Any agent that leaves the records can implement it. The plugin carries seven skills, no `mcp.json`, and everything the abstract agent owes under `com.agentcatalog.agent/`. ## Why there is no mcp.json A conformant server entry in `mcp.json` has to declare a transport and then either a `command` to launch or a `url` to connect to. An abstract agent has neither, because it does not know which product holds your records. Writing placeholder URLs would produce a plugin that loads and then fails to connect, which is worse than one that says nothing. Section 6.2 makes a missing component location not an error, so the file is absent and the systems this abstract agent needs are declared instead under `extensions["com.agentcatalog.agent"].servers`, as a role, an access level and what the access is for. Whoever builds an agent from this plugin writes the `mcp.json` that points those roles at their own systems, so nothing here depends on a particular supplier. ## Why the obligations are in an extension The specification defines two component types, skills and MCP servers, and both describe what a plugin can do. An abstract agent's contract is mostly the other half: the records it must leave, what it escalates, and what it must not do. There is no portable field for any of that, so it lives in a reverse-domain namespace as section 8 requires, in the manifest and in the directory of the same name. ## Where this abstract agent is used `ref/mkt/advisory-board`, `ref/mkt/field-event`, `ref/mkt/user-conference`, `ref/mkt/webinar`. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/event-program
--- name: build-the-presentation description: Builds the slides and the demo for a session so that they follow the agenda that was agreed. Use it when running `ref/mkt/webinar`. license: CC-BY-4.0 metadata: agent: event-program agent-version: "1" --- # Build the presentation ## What it does Builds the slides and the demo for a session so that they follow the agenda that was agreed. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Build the Presentation** - `ref/mkt/webinar`, activity 10 - [Produce Webinar](../../../../processes/marketing/webinar.md) ## What to record The call for sessions at a version, saying what a proposal has to contain and the date it closes. Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down. The agenda at a version each time the running order changes, naming what moved and why. For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told. The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: collect-the-speaker-material description: Chases every deck, bio, headshot and permission to its deadline, reads each one against what the event requires, and gets the signatures the material needs. Use it when running `ref/mkt/user-conference`. license: CC-BY-4.0 metadata: agent: event-program agent-version: "1" --- # Collect the speaker material ## What it does Chases every deck, bio, headshot and permission to its deadline, reads each one against what the event requires, and gets the signatures the material needs. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Clear the Speaker Material** - `ref/mkt/user-conference`, activity 6 - [Host User Conference](../../../../processes/marketing/user-conference.md) ## What to record The call for sessions at a version, saying what a proposal has to contain and the date it closes. Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down. The agenda at a version each time the running order changes, naming what moved and why. For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told. The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: line-up-the-speakers description: Asks the people who will speak, confirms each one, and tells them what the session is for and who will be sitting in front of them. Use it when running `ref/mkt/field-event`. license: CC-BY-4.0 metadata: agent: event-program agent-version: "1" --- # Line up the speakers ## What it does Asks the people who will speak, confirms each one, and tells them what the session is for and who will be sitting in front of them. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Line up the Speakers** - `ref/mkt/field-event`, activity 4 - [Host Field Event](../../../../processes/marketing/field-event.md) ## What to record The call for sessions at a version, saying what a proposal has to contain and the date it closes. Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down. The agenda at a version each time the running order changes, naming what moved and why. For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told. The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: open-the-call-for-sessions description: Puts out the call for talks, states what a proposal has to contain and when it is due, and takes in what customers and staff send back. Use it when running `ref/mkt/user-conference`. license: CC-BY-4.0 metadata: agent: event-program agent-version: "1" --- # Open the call for sessions ## What it does Puts out the call for talks, states what a proposal has to contain and when it is due, and takes in what customers and staff send back. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Open the Call for Sessions** - `ref/mkt/user-conference`, activity 4 - [Host User Conference](../../../../processes/marketing/user-conference.md) ## What to record The call for sessions at a version, saying what a proposal has to contain and the date it closes. Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down. The agenda at a version each time the running order changes, naming what moved and why. For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told. The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: ready-the-venue description: Gets the rooms ready before the doors open, which means the load in, the room dressing and a test of the equipment each session needs. Use it when running `ref/mkt/user-conference`. license: CC-BY-4.0 metadata: agent: event-program agent-version: "1" --- # Ready the venue ## What it does Gets the rooms ready before the doors open, which means the load in, the room dressing and a test of the equipment each session needs. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Set up the Venue** - `ref/mkt/user-conference`, activity 12 - [Host User Conference](../../../../processes/marketing/user-conference.md) ## What to record The call for sessions at a version, saying what a proposal has to contain and the date it closes. Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down. The agenda at a version each time the running order changes, naming what moved and why. For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told. The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: run-the-rehearsal description: Writes the minute-by-minute plan for the event and runs the rehearsal against it, so that every presenter has connected, used the equipment and run their part before an audience is there. Use it when running `ref/mkt/field-event` and `ref/mkt/webinar`. license: CC-BY-4.0 metadata: agent: event-program agent-version: "1" --- # Run the rehearsal ## What it does Writes the minute-by-minute plan for the event and runs the rehearsal against it, so that every presenter has connected, used the equipment and run their part before an audience is there. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Prepare the Run of Show** - `ref/mkt/field-event`, activity 11 - [Host Field Event](../../../../processes/marketing/field-event.md) - **Rehearse the Session** - `ref/mkt/webinar`, activity 11 - [Produce Webinar](../../../../processes/marketing/webinar.md) ## What to record The call for sessions at a version, saying what a proposal has to contain and the date it closes. Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down. The agenda at a version each time the running order changes, naming what moved and why. For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told. The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: settle-the-program description: Decides what the event carries and in what order. Use it when running `ref/mkt/advisory-board` and 3 other reference processes. license: CC-BY-4.0 metadata: agent: event-program agent-version: "1" --- # Settle the program ## What it does Decides what the event carries and in what order. It settles the kind of session and how long it runs, picks the talks and the keynotes, puts the questions or the sessions into an order, and says who presents each one. ## Where it happens The agent does this in four activities across four reference processes. Each one names the activity as that process words it. - **Choose the Program** - `ref/mkt/user-conference`, activity 5 - [Host User Conference](../../../../processes/marketing/user-conference.md) - **Set the Agenda** - `ref/mkt/advisory-board`, activity 2 - [Convene Customer Advisory Board](../../../../processes/marketing/advisory-board.md) - **Settle the Format and Program** - `ref/mkt/field-event`, activity 2 - [Host Field Event](../../../../processes/marketing/field-event.md) - **Settle the Format and the Presenters** - `ref/mkt/webinar`, activity 2 - [Produce Webinar](../../../../processes/marketing/webinar.md) ## What to record The call for sessions at a version, saying what a proposal has to contain and the date it closes. Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down. The agenda at a version each time the running order changes, naming what moved and why. For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told. The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
Every server entry in an mcp.json needs either a command to run or a url to connect to, and the package cannot know either of those until somebody points it at their own systems. So the file is left out, the systems the agent needs are named by role in plugin.json, and you write the mcp.json when you set it up.
Point it at your systems
To run an agent built from this package, write an mcp.json that says which of your systems fills each role. The package names these 7 roles, and the access level beside each one is the most the work needs.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/mcp.schema.json",
"mcpServers": {
"session-proposal-store": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/session-proposal-store"
},
"agenda-and-its-schedule": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/agenda-and-its-schedule"
},
"speaker-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/speaker-record"
},
"asset-store": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/asset-store"
},
"speaker-communication-channel": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/speaker-communication-channel"
},
"events-deadline-list": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/events-deadline-list"
},
"venue-and-room-schedule": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/venue-and-room-schedule"
}
}
}
The hostnames here are a placeholder for your own. Whichever product holds each of these systems, the agent you build is yours and nobody else has to be involved in running it.
4 processes, 11 activities
The highlighted activities are the ones this abstract agent does. The other activities in each process belong to other abstract agents or to people.
Set the Agenda
Settle the Format and Program · Line up the Speakers · Prepare the Run of Show
Open the Call for Sessions · Choose the Program · Clear the Speaker Material · Set up the Venue
Settle the Format and the Presenters · Build the Presentation · Rehearse the Session
What it writes down
The call for sessions at a version, saying what a proposal has to contain and the date it closes. Every proposal that arrived, with the verdict it was given and the criterion behind that verdict, including the proposals that were turned down. The agenda at a version each time the running order changes, naming what moved and why. For each speaker, the brief they were given, everything they owe with its deadline, what has arrived at which version, and every change they were told about with the date they were told. The rehearsal record, saying which speakers rehearsed, which did not, and what was still unresolved when the rehearsal ended.
What it will not do
Does not own the event. The event-manager agent sets what the event has to deliver, holds the deadline list this agent works to, decides who is invited, and answers for how the event did. Does not book rooms, order audio-visual equipment, ship anything, or run the load-in, which is the event-operations agent, and this agent tells that agent what each session needs. Does not write a speaker's talk or make their slides. Speakers write their own material, and the copywriter, designer and video-editor agents make whatever the organization supplies. Does not edit a deck for its structure and its argument, which is the editor agent, and does not score one against the brand guidelines or the claims register, which is the brand-check agent. Does not enter the organization's speakers in somebody else's call for papers, which is the submissions-manager agent. This agent runs the organization's own call and reads what comes in. Does not send the invitations or the reminders, which is the email-producer agent. Does not agree a speaker fee or sign a speaker agreement, and does not sign anything else.
These limits are written into the job on purpose, so that everyone adopting the process knows which decisions stay with a person.
Who has built one, and how far each one got
Nobody has built one yet. The catalog says so rather than leaving the section off, because an empty list is a fact about the document.
implements: event-program v1
One line in your agent's manifest. The catalog checks it against the records your runs actually leave.
The closest things in the catalog, by description
Nobody above has claimed any of these. This is the nearest match by wording between the job written above and what publishers wrote about their own listings, closest first, and wording is not evidence: some of these will be wrong, and a job with nothing suitable still gets whatever was nearest. The publishers have never heard of this abstract agent and have promised nothing about it. What a claim looks like is in the table above, and it is signed.
Not workers. These are capability that whatever does the job would use, which is a different relationship and kept in its own column for that reason.
- Lineup MCP server · lineup-bf157e35.alpic.live · hosted · mirrored from the MCP registry Turn one sentence into an event pack: event card, identity badges, QR codes, and .ics.
- PopUp Organizer MCP server · usepopup.com · run it yourself · mirrored from the MCP registry Read-only MCP server for PopUp — search vendors, manage events, and track applications.
- BusyBoard MCP server · busyboard.app · hosted · mirrored from the MCP registry Merged free/busy, find mutual time, propose bookings with human approval. Never event contents.