K

karoleloi.com

Karol Elói Language Learning — English courses for Brazilians with a personal method, one-on-one coaching, and AI support. Book a placement conversation online.

3answer
1act
2transact
http://karoleloi.com/

live · Health & Education · JSON · API for agents

Tools 6 tools

get_program_infoanswer

Informações da Karol Elói Language Learning: método, diferenciais, fundadora e como funciona a conversa de nivelamento.

View tool JSON
{
  "name": "get_program_info",
  "kind": "answer",
  "impl": "imperative",
  "description": "Informações da Karol Elói Language Learning: método, diferenciais, fundadora e como funciona a conversa de nivelamento.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  }
}
fill_nivelamento_answeract

Responde uma pergunta do formulário de nivelamento em nome do usuário (com consentimento dele). Perguntas e opções válidas: nivel ("Como você avalia o seu inglês hoje?"): iniciante | basico | intermediario | avancado; idade ("Qual a sua idade?"): menor | maior; objetivo ("Qual é o seu maior objetivo com o inglês?"): profissional | viagens | morar | prova | outro; renda ("Qual é a sua faixa de renda familiar mensal?"): r2 | r3 | r4; dificuldade ("Qual é a sua maior dificuldade com o inglês hoje?"): travo | teoria | vergonha | rapido | desisto | zero | outro; quando ("Quando você gostaria de começar?"): agora | semana | espera. Opção "outro" exige freeText.

View tool JSON
{
  "name": "fill_nivelamento_answer",
  "kind": "act",
  "impl": "imperative",
  "description": "Responde uma pergunta do formulário de nivelamento em nome do usuário (com consentimento dele). Perguntas e opções válidas: nivel (\"Como você avalia o seu inglês hoje?\"): iniciante | basico | intermediario | avancado; idade (\"Qual a sua idade?\"): menor | maior; objetivo (\"Qual é o seu maior objetivo com o inglês?\"): profissional | viagens | morar | prova | outro; renda (\"Qual é a sua faixa de renda familiar mensal?\"): r2 | r3 | r4; dificuldade (\"Qual é a sua maior dificuldade com o inglês hoje?\"): travo | teoria | vergonha | rapido | desisto | zero | outro; quando (\"Quando você gostaria de começar?\"): agora | semana | espera. Opção \"outro\" exige freeText.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "questionId": {
        "type": "string",
        "enum": [
          "nivel",
          "idade",
          "objetivo",
          "renda",
          "dificuldade",
          "quando"
        ],
        "description": "Id da pergunta a responder. Ver a lista de perguntas e ids na descrição desta tool."
      },
      "optionId": {
        "type": "string",
        "description": "Id da opção escolhida para essa pergunta (um dos ids válidos listados na descrição). A opção 'outro' exige o campo freeText."
      },
      "freeText": {
        "type": "string",
        "description": "Texto livre do usuário. Obrigatório quando optionId = 'outro'; ignorado caso contrário."
      }
    },
    "required": [
      "questionId",
      "optionId"
    ]
  }
}
submit_nivelamentotransact

Envia o formulário de nivelamento preenchido. Requer todas as perguntas respondidas (fill_nivelamento_answer), nome completo, WhatsApp brasileiro com DDD e e-mail (para o convite da conversa).

View tool JSON
{
  "name": "submit_nivelamento",
  "kind": "transact",
  "impl": "imperative",
  "description": "Envia o formulário de nivelamento preenchido. Requer todas as perguntas respondidas (fill_nivelamento_answer), nome completo, WhatsApp brasileiro com DDD e e-mail (para o convite da conversa).",
  "inputSchema": {
    "type": "object",
    "properties": {
      "nome": {
        "type": "string",
        "description": "Nome completo do usuário."
      },
      "whatsapp": {
        "type": "string",
        "description": "WhatsApp brasileiro com DDD, ex: (11) 99999-9999. Usado para o contato da equipe."
      },
      "email": {
        "type": "string",
        "description": "E-mail do usuário, usado para enviar o convite da conversa (com o link do Zoom)."
      },
      "instagram": {
        "type": "string",
        "description": "@ do Instagram do usuário (opcional)."
      }
    },
    "required": [
      "nome",
      "whatsapp",
      "email"
    ]
  }
}
get_available_slotsanswer

Lista horários livres (ISO 8601, fuso America/Sao_Paulo) para a conversa de nivelamento de 30 minutos.

View tool JSON
{
  "name": "get_available_slots",
  "kind": "answer",
  "impl": "imperative",
  "description": "Lista horários livres (ISO 8601, fuso America/Sao_Paulo) para a conversa de nivelamento de 30 minutos.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "fromDate": {
        "type": "string",
        "description": "Data inicial no formato YYYY-MM-DD (opcional). Sem valor, começa de hoje."
      }
    }
  }
}
book_meetingtransact

Agenda a conversa de nivelamento num horário retornado por get_available_slots. Requer submit_nivelamento bem-sucedido nesta sessão.

View tool JSON
{
  "name": "book_meeting",
  "kind": "transact",
  "impl": "imperative",
  "description": "Agenda a conversa de nivelamento num horário retornado por get_available_slots. Requer submit_nivelamento bem-sucedido nesta sessão.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "slotId": {
        "type": "string",
        "description": "Horário ISO 8601 exato retornado por get_available_slots. Não invente horários; use um valor da lista."
      }
    },
    "required": [
      "slotId"
    ]
  }
}
get_placement_testanswer

Retorna o link do teste de nivelamento (Flexge) que o usuário deve fazer antes da conversa, com as instruções (ambiente calmo, sem barulho; a duração varia com o conhecimento). Disponível após book_meeting bem-sucedido nesta sessão.

View tool JSON
{
  "name": "get_placement_test",
  "kind": "answer",
  "impl": "imperative",
  "description": "Retorna o link do teste de nivelamento (Flexge) que o usuário deve fazer antes da conversa, com as instruções (ambiente calmo, sem barulho; a duração varia com o conhecimento). Disponível após book_meeting bem-sucedido nesta sessão.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  }
}