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
self,
        last_automated_dagrun: Union[None, datetime, DataInterval],
        *,
        restricted: bool = True,
    ) -> Optional[DagRunInfo]:
        """Get information about the next DagRun of this dag after ``date_last_automated_dagrun``.
        This calculates what time interval the next DagRun should operate on
        (its execution date), and when it can be scheduled, , according to the
        dag's timetable, start_date, end_date, etc. This doesn't check max
        active run or any other "max_active_tasks" type limits, but only
        performs calculations based on the various date and interval fields of
        this dag and its tasks.
        :param date_last_automated_dagrun: The ``max(execution_date)`` of
            existing "automated" DagRuns for this dag (scheduled or backfill,
            but not manual).
        :param restricted: If set to *False* (default is *True*), ignore
            ``start_date``, ``end_date``, and ``catchup`` specified on the DAG
            or tasks.
        :return: DagRunInfo of the next dagrun, or None if a dagrun is not
            going to be scheduled.
        """
        
        if self.is_subdag:
            return None
        if isinstance(last_automated_dagrun, datetime):
            warnings.warn(
                "Passing a datetime to DAG.next_dagrun_info is deprecated. Use a DataInterval instead.",
                DeprecationWarning,
                stacklevel=2,