Ação
Uma ação é o que um bloco faz quando é executado. Um bloco pode ter várias ações.
Veja a definição da ação sendMessage:
import { createAction, option } from "@typebot.io/forge";
import { auth } from "../auth";
export const sendMessage = createAction({
auth,
name: "Send message",
options: option.object({
chatId: option.string.meta({ layout: {
label: "Chat ID",
placeholder: "@username",
} }),
text: option.string.meta({ layout: {
label: "Message text",
input: "textarea",
} }),
}),
});A lógica de execução da ação é definida separadamente, em um arquivo
handlers.ts. Veja a documentação de Run para mais informações.

Propriedades
namestringobrigatórioO nome da ação.
authAuthSe o bloco exigir autenticação, o objeto de autenticação precisa ser passado à ação.
baseOptionsz.ZodObject<any>Se o bloco tiver opções definidas (veja as propriedades do bloco), informe-as aqui.
optionsz.ZodObject<any>As opções de configuração da ação. Veja Options para mais informações.
getStreamVariableId(options) => string | undefinedSe a ação puder transmitir conteúdo em tempo real, esta função deve devolver o ID da variável que receberá esse conteúdo. Veja Server function + stream para mais informações.
getEmbedSaveVariableId(options) => string | undefinedSe a ação exibir um balão incorporado que aguarda um evento, esta função deve devolver o ID da variável onde os dados do evento serão salvos. Veja Display embed bubble para mais informações.
getSetVariableIds(options) => string[]Função que devolve um vetor com os IDs das variáveis definidas por esta ação. É usado para análise e acompanhamento.
fetchers{ id: string }[]Vetor de referências a buscadores, usados para preencher listas suspensas dinamicamente. Cada buscador deve ser exportado do arquivo da ação e implementado no arquivo de handlers. Veja Fetcher para mais informações.
turnableIntoTurnableIntoParam[]Vetor de IDs de blocos nos quais esta ação pode ser convertida. Permite ao usuário alternar facilmente entre blocos parecidos, preservando a configuração.
A lógica de execução da ação agora é definida separadamente, em um arquivo
handlers.ts, usando createActionHandler() e createFetcherHandler(). Veja
a documentação de Run para saber como implementar os
handlers.