The SlackAPIFileOperator is not straight forward and it might be better to add an example DAG to demonstrate the usage.

airflow/providers/slack/operators/slack.py
"""
        Used by the execute function. Allows templating on the source fields
        of the api_call_params dict before construction
        Override in child classes.
        Each SlackAPIOperator child class is responsible for
        having a construct_api_call_params function
        which sets self.api_call_params with a dict of
        API call parameters (https://api.slack.com/methods)
        """
        raise NotImplementedError(
            "SlackAPIOperator should not be used directly. Chose one of the subclasses instead"
        )
    def execute(self, **kwargs):
        """
        The SlackAPIOperator calls will not fail even if the call is not unsuccessful.
        It should not prevent a DAG from completing in success
        """
        if not self.api_params:
            self.construct_api_call_params()
        slack = SlackHook(token=self.token, slack_conn_id=self.slack_conn_id)
        slack.call(self.method, json=self.api_params)
class SlackAPIPostOperator(SlackAPIOperator):