Draft

  • Your diagram, kept as you sent it: keys we do not model — notes, embedded bricks — come back untouched. The one thing we add is isTarget: true, on any node that does not already say whether a connection may end at it.

    We read nodes and connections to check it. A diagram missing either is stored anyway and reported as breaking rules.

    Properties: 3
  • When the draft was last written. null on a bot whose draft has never been written, under the convention above for a representation that carries a stored diagram.

  • Whether this diagram differs from the one the channels run, so that reading the draft answers both what is being edited and whether it is still to be published. Same field and same answer as the bot's.

  • A subscription tier, ordered from lowest to highest.

    values
    sandboxstarterprofessionalbusiness
  • The outcome of the last write to the draft. IS_PRESAVED is a stored diagram with no violations, HAS_ERRORS a stored diagram that broke at least one rule, IS_VALIDATED a draft deployed for testing and IS_PUBLISHED one that has been published.

    HAS_ERRORS is the one that matters: while the draft is in it, the bot cannot be published.

    values
    IS_PRESAVEDHAS_ERRORSIS_VALIDATEDIS_PUBLISHED
  • The business rules the diagram broke on the last write. Empty on a bot that has just been created, because creating a bot does not validate.

    Properties: 5