Escrevendo código
Um script é um arquivo com uma função main. Os parâmetros dela viram o cartão Entradas, o que ela devolve vira o resultado, e tudo o que ela imprime aparece em Logs. O editor junta tudo numa tela só: entradas à esquerda, código no meio, a execução embaixo e um painel lateral à direita com o chat de IA, o histórico, as dependências, os gatilhos, o estado e quem usa o script.
- Escrever o
mainem Python, TypeScript, JavaScript, C e C++ - Se orientar no editor: painéis, abas laterais e o painel de baixo
- Saber o que Salvar, Rodar e Publicar fazem — e o que roda onde
- Usar os atalhos de teclado e o modo foco
Uma tela para código e execuções
Abra qualquer script pela página Code e o editor ocupa a janela em três colunas. À esquerda, o cartão Entradas — um campo por parâmetro de main; um script sem parâmetros não tem cartão. No meio, o código, com sugestões e marcas de erro do servidor de linguagem, e embaixo dele o painel com Saída, Logs e, enquanto houver algo a apontar, Problemas. À direita, o painel lateral e as abas dele.
1def main(name: str = "world"):2 print(f"saying hello to {name}")3 return {"message": f"Hello, {name}!"}{
"message": "Hello, world!"
}| Aba lateral | O que tem |
|---|---|
| Chat IA | O assistente do editor: perguntas e mudanças propostas |
| Histórico | Toda execução deste script; abra uma para ver o código, as entradas e o resultado |
| Dependências (Python) | Os pacotes que os imports pedem — veja Dependências |
| Gatilhos | O endpoint da API, agendamentos e gatilhos de evento — veja Gatilhos |
| Estado | Os valores que o script guarda entre execuções — veja Estado |
| Usado por | Scripts que o importam, passos de flow, chamadas pelo SDK e gatilhos — veja Visão geral e uso |
Escreva o main()
Toda linguagem tem o mesmo contrato: a plataforma chama main com as entradas, espera terminar e guarda o que ela devolve. Python escreve def main(...); TypeScript e JavaScript exportam async function main(...); C e C++ usam o int main(int argc, char *argv[]) de sempre, declaram as entradas com linhas // @param, leem com waiso_arg_* (waiso::arg* em C++) e definem o resultado com waiso_set_result (waiso::setResult). O mesmo scriptzinho nas cinco:
def main(text: str = "the quick brown fox"):
words = text.split()
print(f"counted {len(words)} words")
return {"words": len(words), "longest": max(words, key=len) if words else None}{
"words": 4,
"longest": "quick"
}Parâmetros viram o cartão Entradas
Assim que main ganha um parâmetro, o cartão Entradas aparece à esquerda com um campo tipado para ele, redesenhado enquanto você digita. O tipo vem do type hint do Python, da anotação do TypeScript, do valor padrão (JavaScript) ou da linha // @param nome tipo = padrão (C e C++). Preencha os campos e clique em Rodar. As regras — obrigatório ou opcional, qual campo cada tipo vira, como o servidor confere um valor — estão em Entradas do script.
Resultados e logs
O valor devolvido precisa caber em JSON: um dict ou objeto, uma lista, texto, um número, um booleano ou nada. A aba Saída mostra esse valor, com Ver JSON e Ver tabela, Copiar JSON, Baixar JSON e Expandir saída. O que você imprime com print ou console.log vai para Logs na hora. Quando uma execução falha, leia Erros e resultados.
Salvar, Rodar e Publicar
- Rode o código que está na tela
Rodar (ou Ctrl+Enter, ⌘+Enter no Mac) envia o código exatamente como está no editor — salvo ou não — com os valores do cartão Entradas. Fica desativado enquanto uma entrada obrigatória está vazia.
- Salve o rascunho
Salvar (Ctrl+S) guarda o código como rascunho do script. O botão só se destaca enquanto há mudanças não salvas. Edições não salvas também ficam neste navegador: ao voltar, uma faixa oferece Manter ou Descartar.
- Publique o que você testou
Publicar abre uma revisão de tudo o que mudou desde a última publicação e, ao confirmar, faz do rascunho a versão que agendamentos, a API e os flows executam. Fica desativado enquanto há mudanças não salvas ou nada novo para publicar.
A engrenagem ao lado de Publicar, Configuração, tem Histórico de versões (ver e comparar versões publicadas), Gatilhos e Visão geral, a página para executar o script sem o código.
Painéis, barra e atalhos
- Redimensione o cartão Entradas (220–480 px) e o painel lateral (280–640 px) arrastando a divisória ao lado deles; a coluna do código nunca fica abaixo de 480 px. As larguras ficam guardadas para você neste navegador.
- Recolha o painel lateral numa faixa de ícones; cada ícone o reabre na própria aba. Na primeira visita numa tela estreita ele já começa recolhido, para o código ter pelo menos 600 px.
- Modo foco — Ctrl+B esconde o painel lateral e o de baixo; aperte de novo ou clique em Show sidebar & panel.
- Platform SDK, na barra do editor, abre trechos prontos: enviar e baixar arquivos, executar scripts e flows. Import library coloca uma linha de import de um pacote no topo do arquivo.
- O selo no rodapé do código mostra a versão do runtime e o estado do servidor de linguagem — veja Versões do runtime.
| Atalho | Faz |
|---|---|
| Ctrl/⌘+Enter | Rodar |
| Ctrl/⌘+S | Salvar |
| Ctrl/⌘+B | Modo foco |
| F12 ou Ctrl/⌘+clique | Ir para a definição |
| Ctrl/⌘+D | Selecionar a próxima ocorrência |
Limites
- Um script não tem acesso à rede: não chama a internet. Os dados vêm das entradas, das integrações, das variáveis ou do estado.
- Só o
mainda linguagem é chamado; o resto no topo do arquivo roda antes, como código do módulo. - Sem acesso de edição em Scripts, Salvar, Publicar e Rodar ficam desativados e dizem o motivo.