menu button

Chapter 4: Update

Shorten, Extend and Rephrase Agenda Items

Generate shortened, extended or rephrased suggestions for agenda items using AI-powered mutations.


Use the APIs below to generate shortened, extended, or rephrased suggestions for an agenda item. After selecting a suggestion, call updateAgendaItemById and insert the chosen text into the appropriate textList entry for the desired depth level.


These three mutations produce the same output shape: a summarySuggestions object containing a suggestions array. Use them to generate alternative phrasing or lengths for an existing agenda item.

Quick rules:

  • agendaItemId (String, required) — id of the agenda item to modify.
  • userInput (String) — optional for Shorten/Extend, required for Rephrase. Use it to guide tone, length, and constraints (e.g., “formal”, “bullet points”, “max 30 words”).

ShortenAgendaItem


Generates shorter, more concise versions of an agenda item.

Example object structure of the input parameter

mutation ShortenAgendaItem($agendaItemId:String!, $userInput:String){
  shortenAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){
    summarySuggestions{
      suggestions
    }
  }
}

Example object structure of the input parameter

{
  "agendaItemId": "19",
  "userInput": "Summarize in one concise sentence suitable for a meeting overview."
}

Example object structure of the input parameter

import axios from "axios";

const SHORTEN_AGENDA_ITEM = `
  mutation ShortenAgendaItem($agendaItemId:String!, $userInput:String){
    shortenAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){
      summarySuggestions{ suggestions }
    }
  }
`;

export async function shortenAgendaItem(agendaItemId, userInput = null) {
  const dataObj = { query: SHORTEN_AGENDA_ITEM, variables: { agendaItemId, userInput } };

  const res = await axios.post(process.env.VUE_APP_GRAPHQL_API, dataObj, {
    headers: { "Content-Type": "application/json", "x-api-key": process.env.VUE_APP_API_KEY },
  });

  return res.data.data.shortenAgendaItem.summarySuggestions.suggestions;
}


ExtendAgendaItem


Creates expanded or more detailed versions of the agenda item.

Example object structure of the input parameter

mutation ExtendAgendaItem($agendaItemId:String!, $userInput:String){
  extendAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){
    summarySuggestions{
      suggestions
    }
  }
}

Example object structure of the input parameter

{
  "agendaItemId": "19",
  "userInput": "Add background, rationale and next steps in 3 short bullet points."
}

Example object structure of the input parameter

import axios from "axios";

const EXTEND_AGENDA_ITEM = `
  mutation ExtendAgendaItem($agendaItemId:String!, $userInput:String){
    extendAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){
      summarySuggestions{ suggestions }
    }
  }
`;

export async function extendAgendaItem(agendaItemId, userInput = null) {
  const dataObj = { query: EXTEND_AGENDA_ITEM, variables: { agendaItemId, userInput } };

  const res = await axios.post(process.env.VUE_APP_GRAPHQL_API, dataObj, {
    headers: { "Content-Type": "application/json", "x-api-key": process.env.VUE_APP_API_KEY },
  });

  return res.data.data.extendAgendaItem.summarySuggestions.suggestions;
}


RephraseAgendaItem


Rewrites the agenda item according to the instructions in userInput. userInput is mandatory here — the mutation will throw if it’s missing.

Example object structure of the input parameter

mutation RephraseAgendaItem($agendaItemId:String!, $userInput:String!){
  rephraseAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){
    summarySuggestions{
      suggestions
    }
  }
}

Example object structure of the input parameter

{
  "agendaItemId": "19",
  "userInput": "Rewrite in a neutral professional tone, avoid names, and make it one paragraph."
}

Example object structure of the input parameter

import axios from "axios";

const REPHRASE_AGENDA_ITEM = `
  mutation RephraseAgendaItem($agendaItemId:String!, $userInput:String!){
    rephraseAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){
      summarySuggestions{ suggestions }
    }
  }
`;

export async function rephraseAgendaItem(agendaItemId, userInput) {
  if (!userInput) throw new Error("userInput is required for rephraseAgendaItem");

  const dataObj = { query: REPHRASE_AGENDA_ITEM, variables: { agendaItemId, userInput } };

  const res = await axios.post(process.env.VUE_APP_GRAPHQL_API, dataObj, {
    headers: { "Content-Type": "application/json", "x-api-key": process.env.VUE_APP_API_KEY },
  });

  return res.data.data.rephraseAgendaItem.summarySuggestions.suggestions;
}

Common response shape

All three mutations return the same shape:

{
  "summarySuggestions": {
    "suggestions": [
      "Suggested text 1",
      "Suggested text 2"
    ]
  }
}

Tips and examples for userInput

  • Shorten: “Shorten to 12 words, keep key action and decision.”
  • Extend: “Add rationale and two next steps in bullets.”
  • Rephrase: “Neutral tone, remove personal references, use formal language.”

Have questions?

Still have questions? Talk to support.