def generic_state_handler(task_or_flow, old_state, new_state):
# ...
# implement your favorite custom logic to occur on state changes
# ...
return new_state # this is important
from prefect import task
from prefect.engine.state import Failed
from prefect.utilities.notifications import slack_notifier
handler = slack_notifier(only_states=[Failed]) # we can call it early
@task(state_handlers=[handler])
def add(x, y):
return x + y