I couldn't find any official documentation specifying what each parameter to a `sla_miss_callback` callable are. This would be a great addition to know how to properly format the messages sent.
airflow/models/dag.py
include_dependent_dags: bool,
        as_pk_tuple: bool,
        exclude_task_ids: Collection[str],
        session: Session,
        dag_bag: "DagBag" = None,
        recursion_depth: int = 0,
        max_recursion_depth: int = None,
        visited_external_tis: Set[Tuple[str, str, datetime]] = None,
    ) -> Union[Iterable[TaskInstance], Set[TaskInstanceKey]]:
        TI = TaskInstance
        
        
        
        #
        
        
        result: Set[TaskInstanceKey] = set()
        
        if as_pk_tuple:
            tis = session.query(TI.dag_id, TI.task_id, TI.run_id)
        else:
            tis = session.query(TaskInstance)
        tis = tis.join(TaskInstance.dag_run)
        if include_subdags:
            
            conditions = []
            for dag in self.subdags + [self]:
                conditions.append(
                    (TaskInstance.dag_id == dag.dag_id) & TaskInstance.task_id.in_(dag.task_ids)
                )