AIML Docs

Cancel Element

Element for canceling delayed events

Cancel Element

Coming soon: This feature is not yet available. Please check back soon.

The <cancel> element cancels a delayed event:

<cancel sendid="delayed-event" />
PropTypeDefault
id?
string
-
sendid?
string
-
sendidexpr?
Expression
-

Examples

Basic Cancellation

<cancel sendid="reminder" />

Dynamic Cancellation

<cancel 
sendidexpr={({state}) => state.pendingEventId} 
/>

Multiple Event Cancellation

<state id="cleanup">
<onentry>
  <cancel sendid="reminder1" />
  <cancel sendid="reminder2" />
  <cancel sendid="reminder3" />
</onentry>
</state>

Usage Notes

  • Use when you need to prevent a delayed event from occurring
  • Commonly used in cleanup operations
  • Useful for canceling timeouts and reminders
  • Can be used with dynamic event IDs

Best Practices

  1. Event Management

    • Keep track of event IDs systematically
    • Use meaningful event IDs
    • Clean up pending events when appropriate
    • Handle cases where the event might already be executed
  2. Error Handling

    • Handle cases where the event ID doesn't exist
    • Provide appropriate feedback for cancellation failures
    • Log cancellation operations for debugging
  3. State Coordination

    • Coordinate with send elements
    • Consider the timing of cancellations
    • Handle race conditions
    • Clean up related state data
  4. Documentation

    • Document which events can be canceled
    • Explain cancellation conditions
    • Note any side effects
    • Include timing considerations

On this page