ScriptsGuia

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.

O que você vai aprender
  • Escrever o main em 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.

docs-demoCódigohello.pySalvarPublicar
Entradas
Configure os dados desta execução.
VisualJSON
namestringopcionalworld
hello.py
1def main(name: str = "world"):2    print(f"saying hello to {name}")3    return {"message": f"Hello, {name}!"}
Python 3.15LSP
SaídaLogs1SucessoLimparRodar Ctrl ↵
{
  "message": "Hello, world!"
}
Entradas à esquerda, código no meio, a execução embaixo, o painel lateral à direita.
Aba lateralO que tem
Chat IAO assistente do editor: perguntas e mudanças propostas
HistóricoToda 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
GatilhosO endpoint da API, agendamentos e gatilhos de evento — veja Gatilhos
EstadoOs valores que o script guarda entre execuções — veja Estado
Usado porScripts 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:

word_count.py
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}
Saída esperadaSucessoO resultado em Python, TypeScript e JavaScript com o texto padrão; as variantes C e C++ devolvem só <code>{"words": 4}</code>
{
  "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

  1. 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.

  2. 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.

  3. 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.
AtalhoFaz
Ctrl/⌘+EnterRodar
Ctrl/⌘+SSalvar
Ctrl/⌘+BModo foco
F12 ou Ctrl/⌘+cliqueIr para a definição
Ctrl/⌘+DSelecionar 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 main da 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.