code: def _prepare_available_functions(self):
      # collecting functions
      functions = []
  
      back_db_name = self.chat_task.bot_params.get("backoffice_db")
      if back_db_name is not None:
          back_db = (
              self.chat_task.session.integration_controller.get_handler(
                  back_db_name
              )
          )
          if hasattr(back_db, "back_office_config"):
              back_db_config = back_db.back_office_config()
  
              for name, description in back_db_config.get(
                  "tools", {}
              ).items():
                  functions.append(
                      Function(
                          name=name,
                          description=description,
                          callback=getattr(back_db, name),
                      )
                  )
      return functions
  
file_path: mindsdb/mindsdb/interfaces/chatbot/chatbot_executor.py
imports: from .model_executor import ModelExecutor
  from .types import Function, BotException
label_desc: Use image node_id 3 for calling the BotExecutor obj's underlying member method code with example usage: obj._prepare_available_functions() and returns: functions