def METHOD_NAME(
    self,
    signal_name: str,
    workflow_id: str,
    control: dict[str, Any] | None = None,
    input: dict[str, Any] | None = None,
    run_id: str | None = None,
) -> None:
    """Signal external workflow execution decision builder
    :param  signal_name: name of the signal
    :param  workflow_id: workflow id of the workflow execution to be signaled
    :param  control: data attached to the event that can be used by the decider
                     in subsequent decision tasks
    :param  input: input to be provided with the signal
    :param  run_id: run id of the workflow execution to be signaled
    """
    if input is not None:
        input = format.input(input)
    if control is not None:
        control = format.control(control)
    self.update_attributes(
        {
            "signalName": signal_name,
            "workflowId": workflow_id,
            "control": control,
            "input": input,
            "runId": run_id,
        }
    )