Skip to main content
Glama

Set my event goal

event_set_intent
Idempotent

Sets the person's event badge: what they are at the event for, who they want to meet, and whether other attendees there can find them. Needs a personal connector token (a shared token reads but changes nothing), discoverable as true or false, and the badge sentences in the person's own words: headline (what they are here for) and lookingFor (who they want to meet). A badge is findable with both sentences and a first name; a call that would leave one of them blank is refused, and the reply's needs lists what is missing. intent is optional and takes Buyer, Vendor, Networker or Social; without it the server derives the category from the sentences and falls back to Networker, as the badge in the app does. label keeps the person's own word for their category (for example Investor) as written. firstName sets the name on the badge; without it the stored name stays as it is. The event is eventIdOrSlug or eventId when one is given; otherwise it is the one current event the person has joined, and when they have joined none or several the reply says so (with nextTool event_redeem_code, or the list of events) and nothing changes. It works in two steps: a call without confirm returns the sentence describing the change for the person to approve, plus a confirmToken, and changes nothing; a call with confirm true and that token writes. The token lasts two minutes, works once, and stops working if any argument changes. A write that carries new words returns readBack.sentence, which lists what the matcher scores from them; facets ({confirm: true}, {add: [...]} or {remove: [...]}) applies the person's answer to it through the same two steps. It changes only that person's badge at one event.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
labelNoOptional. The person's own word for their category when none of the four fits ("Investor", "Director", "Press"). Up to 24 characters of letters, spaces and hyphens. It is kept and shown as written; the server still files one of the four behind it.
facetsNoOptional. The person's answer to the read-back: {confirm: true}, {add: [their words]} or {remove: [their words]}. The server maps the words onto the read-back's own list.
intentNoOptional. One of Buyer, Vendor, Networker or Social, as the person said it; case and surrounding spaces are ignored. When absent, the server derives the category from the two sentences and falls back to Networker. A word outside the four belongs in `label`.
confirmNoAbsent on the first call, which changes nothing. true, together with confirmToken, makes the change.
eventIdNoOptional. An event id the person has joined. When this and eventIdOrSlug are both absent, the event is the one current event the person has joined.
headlineNoWhat the person is here for, in their own words, up to 280 characters. The first of the two badge sentences: the matcher reads it and other attendees see it, so a full sentence ("raising a seed round for a logistics startup") matches better than a word. Phone numbers, email addresses and links are removed on the server. When absent, the stored sentence is kept.
firstNameNoOptional. The first name the badge shows, 2 to 40 characters of letters, spaces, hyphens and apostrophes. A badge without a name is not findable. When absent, the stored name is kept; a name the badge cannot take refuses the whole call and the reply says why.
requestIdNoAn id for this change chosen by the caller, at least 8 characters. A repeat with the same id and the same arguments returns the first result without changing anything a second time.
intentTextNoOptional. The older name for `lookingFor`; it writes the same badge sentence, up to 280 characters. When both are sent, `lookingFor` is used. Phone numbers, email addresses and links are removed on the server. An absent or empty value leaves the stored sentence as it is.
lookingForNoWho the person wants to meet, in their own words, up to 280 characters. The second badge sentence, the same field the older `intentText` writes. Phone numbers, email addresses and links are removed on the server. When absent, the stored sentence is kept.
confirmTokenNoThe token the first call returned. Needed when confirm is true.
discoverableYestrue lists the person where other attendees at that event can find them; false keeps them off that list. It is a separate answer from the intent and is not inferred from it; a missing or non-boolean value is refused rather than defaulted.
eventIdOrSlugNoOPTIONAL. Event id (tie_la_demo), public slug, or the event name, as the events tools accept it. When this and eventId are both absent, the event is the one current event the person has joined.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
badgeNo
errorNo
needsNo
changedNo
messageNo
previewNo
readBackNo
replayedNo
servedByNo
confirmTokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "anyOf": [
      +    {
      +      "required": [
      +        "ok",
      +        "changed"
      +      ]
      +    },
      +    {
      +      "properties": {
      +        "ok": {
      +          "const": false
      +        }
      +      },
      +      "required": [
      +        "ok"
      +      ]
      +    },
      +    {
      +      "properties": {
      +        "found": {
      +          "const": false
      +        }
      +      },
      +      "required": [
      +        "found"
      +      ]
      +    },
      +    {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    {
      +      "required": [
      +        "replayed"
      +      ]
      +    }
      +  ],
      +  "properties": {
      +    "badge": {
      +      "type": "object"
      +    },
      +    "changed": {
      +      "type": "boolean"
      +    },
      +    "confirmToken": {
      +      "type": "string"
      +    },
      +    "error": {
      +      "type": "string"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "needs": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    },
      +    "preview": {
      +      "type": "object"
      +    },
      +    "readBack": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "replayed": {
      +      "type": "boolean"
      +    },
      +    "servedBy": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed13 schema fields changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Leave this out on the first call. Pass true with confirmToken to commit."New value: +"Absent on the first call, which changes nothing. true, together with confirmToken, makes the change."
    • changedInput schema / properties / confirmToken / description
      Previous value: -"The token the preview returned. Required when confirm is true."New value: +"The token the first call returned. Needed when confirm is true."
    • changedInput schema / properties / discoverable / description
      Previous value: -"REQUIRED, and never inferred from the intent: true puts them in the list other attendees at that event can see, false keeps them out of it. Ask the person which they want; a missing or non-boolean answer is refused rather than defaulted."New value: +"true lists the person where other attendees at that event can find them; false keeps them off that list. It is a separate answer from the intent and is not inferred from it; a missing or non-boolean value is refused rather than defaulted."
    • changedInput schema / properties / eventId / description
      Previous value: -"OPTIONAL. Omit for the event the person is currently in, which is the usual case. Only pass one if they named a different show, and it must be one they have already joined."New value: +"Optional. An event id the person has joined. When this and eventIdOrSlug are both absent, the event is the one current event the person has joined."
    • addedInput schema / properties / eventIdOrSlug
      Added value: +{
      +  "description": "OPTIONAL. Event id (tie_la_demo), public slug, or the event name, as the events tools accept it. When this and eventId are both absent, the event is the one current event the person has joined.",
      +  "type": "string"
      +}
    • changedInput schema / properties / facets / description
      Previous value: -"OPTIONAL. Their answer to the read-back: {confirm: true} when they say it is right, {add: [their words]} or {remove: [their words]} when they change it. Words are mapped onto the read-back's own list on the server, so pass what they said and never invent a facet."New value: +"Optional. The person's answer to the read-back: {confirm: true}, {add: [their words]} or {remove: [their words]}. The server maps the words onto the read-back's own list."
    • changedInput schema / properties / firstName / description
      Previous value: -"OPTIONAL. The person's FIRST NAME, 2 to 40 characters of letters, spaces, hyphens and apostrophes. It is the THIRD thing a badge is made of, beside the two sentences: a badge with no name cannot be found by other attendees either. Pass it only when they have just told you their name or asked to change it; leaving it out keeps whatever their badge already says and never clears it. Never invent a name, never shorten one they gave you, and never pass a surname."New value: +"Optional. The first name the badge shows, 2 to 40 characters of letters, spaces, hyphens and apostrophes. A badge without a name is not findable. When absent, the stored name is kept; a name the badge cannot take refuses the whole call and the reply says why."
    • changedInput schema / properties / headline / description
      Previous value: -"What they are here for, in their OWN words, up to 280 characters. This is the first of the two sentences the badge is made of, so ask \"What are you here for?\" and pass what they say. FULL SENTENCES ARE THE POINT: it is read by the matcher that decides who they are shown to and it is what strangers read about them, so \"raising a seed round for a logistics startup\" beats \"raising money\". Phone numbers, email addresses and links are removed on the server, because other attendees read it. Leaving it out keeps whatever their badge already says and never clears it."New value: +"What the person is here for, in their own words, up to 280 characters. The first of the two badge sentences: the matcher reads it and other attendees see it, so a full sentence (\"raising a seed round for a logistics startup\") matches better than a word. Phone numbers, email addresses and links are removed on the server. When absent, the stored sentence is kept."
    • changedInput schema / properties / intent / description
      Previous value: -"OPTIONAL quick pick, not a question you have to ask. One of Buyer, Vendor, Networker or Social, as the person said it; case and surrounding spaces do not matter. Leave it out when they did not name one of those four words: the server derives the category from the two sentences and falls back to Networker, which is what their badge in the app does. A word outside the four does NOT go here - it goes in `label`, where it is kept rather than refused."New value: +"Optional. One of Buyer, Vendor, Networker or Social, as the person said it; case and surrounding spaces are ignored. When absent, the server derives the category from the two sentences and falls back to Networker. A word outside the four belongs in `label`."
    • changedInput schema / properties / intentText / description
      Previous value: -"OPTIONAL, and the OLDER NAME for `lookingFor`: it writes the same badge line. Prefer `lookingFor`, which is the badge's own word for it, and pass only one of the two. What they are looking for, in their OWN words, up to 280 characters. FULL SENTENCES ARE WELCOME and are what this field is for: it is read by the matcher that decides who they are shown, so \"raising a seed round for a logistics startup, and looking for operators who have scaled a warehouse\" matches better than \"raising money\". Do not compress what they said to save room. Phone numbers, email addresses and links are removed from it on the server, because other attendees read it. Leave it out to keep whatever their badge already says; sending an empty string also leaves it alone."New value: +"Optional. The older name for `lookingFor`; it writes the same badge sentence, up to 280 characters. When both are sent, `lookingFor` is used. Phone numbers, email addresses and links are removed on the server. An absent or empty value leaves the stored sentence as it is."
    • changedInput schema / properties / label / description
      Previous value: -"OPTIONAL. Their own word for what they are, when none of the four fits: \"Investor\", \"Director\", \"Press\". Up to 24 characters, letters, spaces and hyphens only. It is KEPT AND SHOWN as their word and is never refused for being outside the four; the server still files one of the four behind it so the match list can say why two people fit. Pass it only when the person named it themselves - it is a fact about them, so never invent one and never tidy theirs."New value: +"Optional. The person's own word for their category when none of the four fits (\"Investor\", \"Director\", \"Press\"). Up to 24 characters of letters, spaces and hyphens. It is kept and shown as written; the server still files one of the four behind it."
    • changedInput schema / properties / lookingFor / description
      Previous value: -"Who they want to meet, in their OWN words, up to 280 characters. This is the second of the two sentences the badge is made of, so ask \"Who do you want to meet?\" and pass what they say. It is the SAME badge line the older `intentText` argument writes, under the badge's own name for it; pass one or the other, not both. Phone numbers, email addresses and links are removed on the server. Leaving it out keeps whatever their badge already says and never clears it."New value: +"Who the person wants to meet, in their own words, up to 280 characters. The second badge sentence, the same field the older `intentText` writes. Phone numbers, email addresses and links are removed on the server. When absent, the stored sentence is kept."
    • changedInput schema / properties / requestId / description
      Previous value: -"Your own id for this change, at least 8 characters. Sending the same one twice with the same arguments returns the first result instead of writing again."New value: +"An id for this change chosen by the caller, at least 8 characters. A repeat with the same id and the same arguments returns the first result without changing anything a second time."
  3. Changed1 schema field changed
    • addedInput schema / properties / facets
      Added value: +{
      +  "description": "OPTIONAL. Their answer to the read-back: {confirm: true} when they say it is right, {add: [their words]} or {remove: [their words]} when they change it. Words are mapped onto the read-back's own list on the server, so pass what they said and never invent a facet.",
      +  "properties": {
      +    "add": {
      +      "items": {
      +        "maxLength": 60,
      +        "type": "string"
      +      },
      +      "maxItems": 6,
      +      "type": "array"
      +    },
      +    "confirm": {
      +      "type": "boolean"
      +    },
      +    "remove": {
      +      "items": {
      +        "maxLength": 60,
      +        "type": "string"
      +      },
      +      "maxItems": 6,
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / firstName
      Added value: +{
      +  "description": "OPTIONAL. The person's FIRST NAME, 2 to 40 characters of letters, spaces, hyphens and apostrophes. It is the THIRD thing a badge is made of, beside the two sentences: a badge with no name cannot be found by other attendees either. Pass it only when they have just told you their name or asked to change it; leaving it out keeps whatever their badge already says and never clears it. Never invent a name, never shorten one they gave you, and never pass a surname.",
      +  "maxLength": 40,
      +  "type": "string"
      +}
  5. Changed6 schema fields changed
    • addedInput schema / properties / headline
      Added value: +{
      +  "description": "What they are here for, in their OWN words, up to 280 characters. This is the first of the two sentences the badge is made of, so ask \"What are you here for?\" and pass what they say. FULL SENTENCES ARE THE POINT: it is read by the matcher that decides who they are shown to and it is what strangers read about them, so \"raising a seed round for a logistics startup\" beats \"raising money\". Phone numbers, email addresses and links are removed on the server, because other attendees read it. Leaving it out keeps whatever their badge already says and never clears it.",
      +  "maxLength": 280,
      +  "type": "string"
      +}
    • changedInput schema / properties / intent / description
      Previous value: -"One of Buyer, Vendor, Networker or Social, as the person said it. Case and surrounding spaces do not matter. Anything outside those four is refused, never mapped onto the closest one."New value: +"OPTIONAL quick pick, not a question you have to ask. One of Buyer, Vendor, Networker or Social, as the person said it; case and surrounding spaces do not matter. Leave it out when they did not name one of those four words: the server derives the category from the two sentences and falls back to Networker, which is what their badge in the app does. A word outside the four does NOT go here - it goes in `label`, where it is kept rather than refused."
    • changedInput schema / properties / intentText / description
      Previous value: -"OPTIONAL. What they are looking for, in their OWN words, up to 280 characters. FULL SENTENCES ARE WELCOME and are what this field is for: it is read by the matcher that decides who they are shown, so \"raising a seed round for a logistics startup, and looking for operators who have scaled a warehouse\" matches better than \"raising money\". Do not compress what they said to save room. Phone numbers, email addresses and links are removed from it on the server, because other attendees read it. Leave it out to keep whatever their badge already says; sending an empty string also leaves it alone."New value: +"OPTIONAL, and the OLDER NAME for `lookingFor`: it writes the same badge line. Prefer `lookingFor`, which is the badge's own word for it, and pass only one of the two. What they are looking for, in their OWN words, up to 280 characters. FULL SENTENCES ARE WELCOME and are what this field is for: it is read by the matcher that decides who they are shown, so \"raising a seed round for a logistics startup, and looking for operators who have scaled a warehouse\" matches better than \"raising money\". Do not compress what they said to save room. Phone numbers, email addresses and links are removed from it on the server, because other attendees read it. Leave it out to keep whatever their badge already says; sending an empty string also leaves it alone."
    • addedInput schema / properties / label
      Added value: +{
      +  "description": "OPTIONAL. Their own word for what they are, when none of the four fits: \"Investor\", \"Director\", \"Press\". Up to 24 characters, letters, spaces and hyphens only. It is KEPT AND SHOWN as their word and is never refused for being outside the four; the server still files one of the four behind it so the match list can say why two people fit. Pass it only when the person named it themselves - it is a fact about them, so never invent one and never tidy theirs.",
      +  "maxLength": 24,
      +  "type": "string"
      +}
    • addedInput schema / properties / lookingFor
      Added value: +{
      +  "description": "Who they want to meet, in their OWN words, up to 280 characters. This is the second of the two sentences the badge is made of, so ask \"Who do you want to meet?\" and pass what they say. It is the SAME badge line the older `intentText` argument writes, under the badge's own name for it; pass one or the other, not both. Phone numbers, email addresses and links are removed on the server. Leaving it out keeps whatever their badge already says and never clears it.",
      +  "maxLength": 280,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "intent",
      -  "discoverable"
      -]New value: +[
      +  "discoverable"
      +]
  6. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources