Справочник

Автоматизация

Автоматизация — это дерево шагов, которое выполняется на одном профиле: через его прокси, с его cookie и в его браузере, когда шагу нужен браузер. Типов шагов: 33, и никакого языка сценариев учить не надо.

Содержание

Что такое автоматизация

Дерево шагов, которое выполняется сверху вниз на одном профиле. Шаги, которые трогают страницу, работают внутри собственной браузерной сессии этого профиля — его прокси, его cookie, собранный вами отпечаток, — поэтому сайт видит личность, а не привинченную к ней автоматизационную обвязку.

Вкладка автоматизаций: счётчик из одиннадцати автоматизаций рядом с кнопкой создания и две карточки под ним — личное сообщение в Instagram и сообщение в Facebook, по девять шагов каждая, обе с тегом Claude Code. Одна завершилась два дня назад и предлагает запуск и редактирование, вторая помечена как выполняющаяся прямо сейчас.
Автоматизация — это карточка: что она делает, из скольких шагов состоит, когда запускалась в последний раз, и кнопка запустить снова. Та, что сейчас выполняется, так об этом и говорит, пока идёт.

Шаги собираются в лаунчере на холсте — каждый шаг это карточка, ветвления нарисованы дорожками, циклы — группами, в которые шаги перетаскиваются, — или передаются по API в виде JSON. Дерево получается одно и то же: холст лишь место, где нарисована программа, и порядок выполнения никогда не следует за тем, куда перетащили карточку.

И в том, и в другом случае дерево проверяется до того, как что-то будет сохранено, а отказ называет точный путь до места ошибки, а не сообщает, что форма неверна.

Часть шагов намеренно выполняется из лаунчера, а не со страницы: HTTP-запрос, обращение к модели, уведомление. Они не используют ни прокси профиля, ни его cookie, и каждый говорит об этом на своей карточке.

Вкладка автоматизаций с фильтром по стартовым страницам: карточка автоматизации из восьми шагов с тегом стартовой страницы, сейчас выполняется, рядом кнопки редактирования, публикации и истории запусков.
Автоматизации — карточки, которые фильтруются: все, на стартовых страницах, назначенные вам, коннекторы; и каждая несёт число шагов, состояние и историю.

Автоматизацию можно ещё и закрепить из её редактора на стартовой странице браузера у каждого профиля — плиткой рядом с закладками, чтобы запускать её прямо из браузера.

Редактор стартовой страницы в лаунчере: строка поиска, плитки закладок и полоса автоматизаций с закреплёнными сценариями, которые появляются на стартовой странице браузера в каждом профиле.
Закреплённые сценарии появляются на стартовой странице браузера у каждого профиля и запускаются прямо оттуда — в сессии этого профиля.

Типы шагов: 33

Каждое поле ниже прочитано из той же схемы, которую отдаёт сам Argus, — то есть это тот словарь, который получает агент, когда вызывает argus_automation_schema.

Редактор автоматизаций на холсте: автоматизация для Instagram из девяти шагов, нарисованная связанными узлами — выполнить скрипт, подождать, снять скриншот, — переключатель между холстом и JSON, кнопка немедленного запуска и правая колонка с параметрами, описанием, папкой, тегами, закреплением на стартовой странице и тем, что происходит по завершении запуска.
Холст или JSON — автоматизация одна и та же. Шаги здесь узлы, которые вы соединяете по порядку; в правой колонке параметры, которые она запрашивает, и то, что произойдёт по её окончании.

Управление страницей

Восемь шагов, которые трогают браузер. Каждый выполняется внутри собственной сессии профиля, поэтому сайт видит собранную вами личность, а не автоматизационную обвязку: клики и нажатия приходят как настоящие события ввода в настоящих координатах, а не как скрипт, вызывающий click() на элементе. Шаг «нажать клавишу» — для тех клавиш, на которые форма реагирует, но которые никто не печатает в поле: Tab, чтобы перейти дальше, Escape, чтобы закрыть, стрелка, чтобы пройти по списку. «Решить капчу» — единственное исключение, о котором стоит знать, и то наполовину: он читает задачу и подставляет ответ прямо на странице, но покупает этот ответ из лаунчера, так что сервис никогда не видит ни прокси профиля, ни его cookie.

Go to

goto

Go to {url}

url
text · обязательное
waitUntil
select · одно из: load | domcontentloaded

Wait for

waitFor

Wait for {for}

for
select · обязательное · одно из: selector | selectorGone | url | text
selector
text
url
text
text
text

Click

click

Click {selector}

selector
text · обязательное
nth
number

Type

type

Type into {selector}

selector
text · обязательное
text
text · обязательное
clear
boolean
delayMs
number
pressEnter
boolean

Press a key

press

Press {key}

key
text · обязательное
selector
text

A real key event, the way Type sends one. This is for the keys a form reacts to but nobody types into a field: Tab to move on, Escape to dismiss a dialog, ArrowDown to walk a suggestion list. Type already presses Enter for you, so reach for this when the key is anything else. Leave the selector empty to send the key wherever the page's focus already is.

Scroll

scroll

Scroll to {to}

to
select · обязательное · одно из: bottom | top | selector
selector
text

Screenshot

screenshot

Screenshot

selector
text
fullPage
boolean

Solve captcha

solveCaptcha

Solve the captcha on the page

connector
connector · коннектор captcha
challenge
select · одно из: auto | recaptchaV2 | recaptchaV3 | hcaptcha
sitekey
text
action
text
minScore
number
fireCallback
boolean
waitForPage
boolean
into
text

The page's URL and its site key go to your provider from the launcher, not from the page -- the solve does not travel through the profile's proxy, and nothing else about the page leaves the machine. Injecting a token is not the same as passing the check: whether the site accepts it is the site's business, so follow this with a Wait for or an AI check.

Чтение и хранение данных

Вытащить что-то со страницы, посчитать по этому или забрать это из другого места. Всё сохранённое попадает в переменную, которую вы называете сами, и любой следующий шаг может подставить её в своё поле. «Сохранить cookie» забирает саму сессию обратно в набор cookie профиля, а три шага для баз данных выносят результаты прогона в лист, таблицу или файл, читают обратно список работы или вычищают строки, которые назвал фильтр, — у последнего нет отмены, и без фильтра он просто откажется выполняться, потому что пустой фильтр означал бы все строки таблицы. Три шага здесь ходят в сеть, не управляя страницей, и выбор между ними решает один вопрос — с чьего адреса должен уйти запрос: «загрузить страницу» уходит через прокси профиля с TLS-отпечатком настоящего браузера, и именно поэтому целый сборщик отрабатывает за секунды, не открыв ни одного окна; «reach» уходит через собственное соединение лаунчера — он верен для публичной страницы и неверен для всего, что вас узнаёт; а «HTTP-запрос» — это обычный вызов к вашему собственному API. «Запустить скрапер» — четвёртый, и вопрос у него другой: не где лежат данные, а на каком они сервисе. Он запускает один из готовых сборщиков со вкладки «Скраперы», не открывая окна и не тратя ни одного слота автоматизаций из вашего тарифа, а затем спрашивает то, чего вкладке спрашивать не приходится: куда положить строки. По умолчанию каждый прогон создаёт новую таблицу — ровно так и делает вкладка «Скраперы»; направьте его в таблицу, которую вы назвали, и она будет создана с собственными колонками этого скрапера, если её ещё нет, а каждый следующий прогон допишет в неё строки — или обновит строку на месте, если вы укажете колонку для сопоставления. В любом случае следующему шагу передаётся не голое имя, а объект: таблица, её идентификатор и сколько строк пришло, — так что шаг за ним может загрузить только что собранное. Три почтовых шага работают с собственными ящиками профиля, читают и пишут через его прокси, поэтому провайдер видит выход этой личности, а не вашу машину. Два из них замыкают петлю, которую открывает регистрация: дождаться письма с подтверждением, вынуть из него ссылку и открыть её. Третий отправляет — одно письмо, из одного ящика, одному человеку, — и каждая отправка записывается в журнал рабочего пространства ещё до того, как уйдёт. Её отклонят, если ящик исчерпал дневной лимит, если он ещё прогревается, если адрес в списке подавления рабочего пространства или если этот же сценарий уже писал по нему внутри своего окна повторов, — и отказ записывается, а не теряется. «Отправить рассылку» — вторая половина этой пары, и отличается она списком, а не проводкой: письмо передаётся почтовому провайдеру по вашему собственному ключу, с домена, который вы у него подтвердили, и предназначено оно тем, кто сам попросил о письмах. Правила использования есть у каждого провайдера, и все они запрещают холодные рассылки и собранные списки, а расплата здесь — аккаунт, а не отказ доставки, так что всё холодное место на шаге с почтовым ящиком выше. Она делит тот же журнал, тот же список подавления и то же окно повторов и добавляет в каждое письмо заголовок отписки в один клик. «Проверить адрес» — тот шаг, которому место перед обоими: он спрашивает у сервиса проверки, стоит ли вообще за адресом почтовый ящик, и отвечает одним из четырёх слов, из которых только одно означает «отправляйте», — список с отказами доставки прожигает домен-отправитель быстрее всего, а репутацию домена назад не отыграть. Два скриптовых шага — это аварийный выход: «выполнить скрипт» выполняет ваш JavaScript внутри страницы, а «выполнить скрипт Node» — Node на вашей собственной машине, вообще за пределами браузера.

Extract

extract

Read {selector} into {into}

selector
text · обязательное
what
select · одно из: text | html | attr | value
attr
text
all
boolean
into
text · обязательное

Run script

evaluate

Run script

script
textarea · обязательное
args
keyvalue
into
text
secretInto
boolean

Run Node script

nodeScriptбраузер не нужен

Run Node script

code
textarea · обязательное
args
keyvalue
into
text

Runs on this machine as a Node process, with the launcher's own access to your files and network -- not in the profile's browser, and not through its proxy. Node's built-in modules only (fs, crypto, fetch, zlib and the rest); npm packages are not installed. An automation created or changed over the API or MCP that contains this step asks you to approve it first.

Set variable

setVarбраузер не нужен

Set {name}

name
text · обязательное
value
text · обязательное
secretInto
boolean

HTTP request

httpRequestбраузер не нужен

{method} {url}

method
select · одно из: GET | POST
url
text · обязательное
headers
keyvalue
body
textarea
into
text

Sent from the launcher, not from the page -- it does not use the profile's proxy or cookies.

Fetch page

fetchPageбраузер не нужен

Fetch {url} into {into}

method
select · одно из: GET | POST
url
text · обязательное
headers
keyvalue
body
textarea
query
text
collect
textarea
selector
text
fields
keyvalue
adaptive
select · одно из: yes | no
into
text · обязательное

Fetched by Scrapling through the profile's proxy, with no browser window. Leave the row selector and the list config empty to store the raw page.

Reach

reachбраузер не нужен

Reach {url} into {into}

channel
select · одно из: auto | web | youtube | reddit | rss
url
text · обязательное
into
text · обязательное

Reads the page WITHOUT a browser, through Agent Reach's channels (Jina Reader, yt-dlp, RSS) -- from the launcher's own connection, not the profile's proxy or cookies. Login-gated pages need a browser step instead.

Run scraper

runScraperбраузер не нужен

Run the {scraper} scraper into {into}

scraper
scraper · обязательное
input
scraperInput
mode
select · одно из: new | table
target
remote · обязательное
matchOn
remote
into
text · обязательное

Runs one of the prebuilt scrapers and files its rows into an Argus table, exactly as the Scrapers tab does — no browser window opens, and it costs no automation slot. Left on "new" it makes a fresh table per run; pointed at a table it appends to, or updates, the one you name.

Save cookies

saveCookies

Save cookies to the Launcher {domain}

domain
text

With a filter set, the live cookie set is REPLACED by exactly this filtered subset -- running this step again with a narrower filter after a full sync discards every other domain's cookies from that set.

Save to database

saveRowsбраузер не нужен

Save to {target}

connector
connector · коннектор data
target
remote · обязательное
rows
select · обязательное · одно из: one | many | each
items
text
mapping
mapping
matchOn
remote
extraColumns
select · одно из: fail | ignore | add
into
text

Sent from the launcher, not from the page -- it does not use the profile's proxy or cookies. Values are converted to the column's type before they are sent, and a value that cannot be converted fails the step rather than being stored wrong.

Load from database

loadRowsбраузер не нужен

Load {target} into {into}

connector
connector · коннектор data
target
remote · обязательное
filter
keyvalue
limit
number
into
text · обязательное

Sent from the launcher, not from the page -- it does not use the profile's proxy or cookies. Only equality filters, and at most 1000 rows: this is a step that feeds a loop, not a query language.

Delete rows

deleteRowsбраузер не нужен

Delete from {target}

connector
connector · коннектор data
target
remote · обязательное
filter
keyvalue · обязательное
limit
number
into
text

THERE IS NO UNDO. The filter is required and an empty one is refused rather than treated as "everything" -- the row that deletes a whole table must not be one slip away from the row that deletes three. Same equality-only grammar as Load from database, and the same 1000-row ceiling. Not every service can do this: where a connector cannot, the step says so instead of the service answering with its own error. Notion has no hard delete, so a page there is archived, which is what its own trash does. Sent from the launcher, not from the page -- it does not use the profile's proxy or cookies.

Wait for email

waitForEmailбраузер не нужен

Wait for mail matching {subjectPattern}

account
mailbox
folders
select · одно из: inboxSpam | inbox | all
fromPattern
text
subjectPattern
text
bodyPattern
text
since
select · одно из: runStart | stepStart | any
codePattern
text
markSeen
boolean
into
text · обязательное

Read from the launcher through the mailbox's own proxy, so the provider sees the profile's exit rather than this machine's. The message body is deliberately NOT stored in the variable: a run record is readable by the whole workspace and is flushed to the cloud, so only a bounded summary travels. Give the step longer with its own timeout if a sender is slow; it waits three minutes by default.

Link from email

extractEmailLinkбраузер не нужен

Take a link from {message} into {into}

message
text · обязательное
pattern
text
index
number
into
text · обязательное

Works on the links Wait for email already pulled out of the message, so it opens no connection and cannot fail after the wait succeeded. Tracking redirectors are left as they are -- following one to tidy the address would discard the token the link carries, and would fetch it from this machine rather than the profile.

Send email

sendEmailбраузер не нужен

Send "{subject}" to {to}

to
text · обязательное
subject
text · обязательное
body
textarea · обязательное
pool
mailPool
account
mailbox
dedupeScope
text
dedupeDays
number
jitterSeconds
number
into
text · обязательное

Governed: every send is booked in the workspace's ledger BEFORE it leaves, and refused if the mailbox has spent its daily cap, if it is still warming up, if the address is on the suppression list, or if this scope already emailed it inside the repeat guard. A refusal is recorded rather than dropped. Mail leaves through the mailbox's own proxy, so the provider sees the identity's exit and not this machine's. The launcher window must be open: the caps and the suppression list live in the workspace, and sending unchecked is worse than not sending.

Send broadcast

sendBroadcastбраузер не нужен

Broadcast "{subject}" to {to}

connector
connector · коннектор broadcast
to
text · обязательное
subject
text · обязательное
body
textarea · обязательное
html
textarea
dedupeScope
text
dedupeDays
number
campaign
text
campaignStep
number
into
text · обязательное

For people who OPTED IN. Every email service provider's acceptable-use policy -- Resend's, Postmark's, SendGrid's -- prohibits cold outreach, purchased lists and scraped contact data, and the penalty is the account rather than a bounce. Cold mail goes out over the Send email step and the workspace's own mailboxes instead. Governed the same way that step is: every send is booked in the workspace's ledger BEFORE it leaves, and refused if the address is on the suppression list, if this scope already emailed it inside the repeat guard, or if the connector has spent its daily limit. A refusal is recorded rather than dropped. RFC 8058 unsubscribe headers are added to every message, pointing at the connector's reply-to. The launcher window must be open: the suppression list lives in the workspace, and sending unchecked is worse than not sending.

Verify email

verifyEmailбраузер не нужен

Check {email} is real

connector
connector · коннектор verify
email
text · обязательное
into
text · обязательное

Four verdicts, and only one of them means send. `deliverable` is a mailbox that answered. `undeliverable` covers an address that does not exist AND one that must not be mailed -- a spam trap, a burner, a known complainer. `risky` is a catch-all domain, which accepts everything including mail for boxes that are not there, so nobody can tell; leaving these out is the safe default. `unknown` means the check did not complete, and a vocabulary this build does not recognise lands here rather than on `deliverable` -- a verifier that guesses yes is worse than none. The check leaves from the launcher's own connection, never a profile's proxy: both services take the key in the query string. Bouncing a scraped list is the fastest way to burn a sending domain, and a domain's reputation cannot be turned back.

Обращение к модели

Три шага, которые отдают работу модели: открытый вопрос, ответ на который вы сохраняете; проверка «да или нет», по которой вы ветвитесь; и агент, который планирует и вызывает инструменты — HTTP, код в странице, ваши коннекторы данных, сообщения, другие автоматизации, серверы MCP, — пока задача не будет решена. Все три выполняются из лаунчера, через тот коннектор ИИ, на который вы их направите.

Ask AI

aiPrompt

Ask AI into {into}

provider
connector · коннектор ai
prompt
textarea · обязательное
context
select · одно из: none | pageText | selector
selector
text
format
select · одно из: text | json
maxTokens
number
into
text · обязательное

Sent from the launcher, not from the page -- it does not use the profile's proxy or cookies. Page text is truncated before it is sent.

AI check

aiCheck

AI check: {question}

provider
connector · коннектор ai
question
textarea · обязательное
context
select · одно из: none | pageText | selector
selector
text
into
text
onFalse
select · одно из: continue | fail

The model is asked for one word and nothing else. Anything it says that is not yes or no fails the step rather than being guessed at.

AI Agent

aiAgent

Agent into {into}

provider
connector · коннектор ai
model
model
prompt
textarea · обязательное
memory
select · одно из: none | window
memoryWindow
number
maxIterations
number
tools
tools
into
text · обязательное

Calls leave from the launcher, not the page -- no profile proxy or cookies. Tools run with the same limits as their standalone steps, and an approval tool gates every call behind a yes/no over Telegram.

Управление потоком и вывод

Ветвиться, повторять, ждать, собирать из частей и сообщать. «Запустить автоматизацию» подставляет шаги другой автоматизации прямо в дерево, поэтому ход, который нужен вам повсюду, пишется один раз. Шаг «уведомить» — это то, как до вас доходит прогон, закончившийся в три часа ночи.

If

if

If {condition.left} {condition.op}

condition
condition · обязательное
then
steps
else
steps

Loop

loopбраузер не нужен

Loop {mode}

mode
select · обязательное · одно из: times | forEach
times
number
items
text
maxIterations
number
body
steps

Wait

waitбраузер не нужен

Wait

ms
number
minMs
number
maxMs
number

Send message

notifyбраузер не нужен

Send message

connector
connector · коннектор message
message
textarea · обязательное
subject
text

Sent from the launcher, not from the page -- it does not use the profile's proxy or cookies.

Run automation

callAutomationбраузер не нужен

Run automation {automationId}

automationId
automation · обязательное

Скрапер как шаг

Один шаг в семействе данных — это целая другая часть приложения, свёрнутая в дерево. Запустить скрапер берёт один из 29 готовых сборщиков каталога Скраперы и выполняет его прямо внутри сценария — тем же кодом, каким его выполняет вкладка «Скраперы», так что сбор, начатый шагом, и сбор, начатый руками, кладут одинаковые строки в одинаково устроенные таблицы. Окно браузера при этом не открывается, а сборщик — не автоматизация, поэтому он не тратит ни одного слота автоматизаций из вашего тарифа.

Панель добавления шага перечисляет их по сервисам, по строке на сборщик, а не одной общей записью, — так сборщик выбирается ещё до того, как шаг появился, и шаг приходит уже с собственной формой этого скрапера: с его настоящими параметрами, теми же, о которых спрашивает вкладка, а не с нетипизированным мешком ключей и значений. Всё, что оставлено пустым, берётся из того, что вводили в этот скрапер в прошлый раз. Одна общая строка всё же осталась — на случай, который списком не покрыть: шаг, у которого скрапер задан шаблоном {{vars.x}} и решается уже по ходу прогона.

Дальше он задаёт вопрос, которого вкладке «Скраперы» задавать не приходится: куда лягут строки. По умолчанию каждый прогон создаёт новую таблицу — ровно так делает и вкладка: имя из поискового запроса и минуты, папка по имени скрапера. Направьте его в таблицу — и вы называете её сами: если её ещё нет, она создаётся с собственными колонками этого скрапера, а каждый следующий прогон дописывает в неё строки или обновляет строку на месте, если вы укажете колонку для сопоставления. Именно второй режим позволяет сбору по расписанию копиться в одну таблицу, а не оставлять каждую ночь новую.

В любом случае шаг передаёт следующему не голое имя, а объект: таблицу, её идентификатор и сколько строк пришло. Направьте следующий loadRows на {{vars.<name>.table}} — и автоматизация прочитает обратно только что собранное; ветвитесь по {{vars.<name>.rows}}, чтобы пропустить остаток прогона, когда ничего не нашлось.

Что несёт каждый шаг

Шесть полей есть у каждого шага независимо от типа — потому они и не повторены выше 33 раз.

id
Required, and unique across the automation — the run log addresses steps by it, so never reuse one.
label
Your own name for the step, shown instead of the generated summary.
enabled
Off skips the step without deleting it.
timeoutMs
How long this one step may take.
onError
stop, continue or retry.
retries
How many times to retry. Capped at 5.

Переменные и условия

Любое поле, помеченное как подставляемое, разворачивает шаблоны до выполнения шага: {{vars.name}} — то, что сохранил предыдущий шаг, {{profile.email}} и {{profile.password}} — собственные сохранённые учётные данные профиля, а {{loop.item}} — внутри цикла.

Одно поле исключено намеренно. Шаг «выполнить скрипт» никогда не подставляет ничего в свой скрипт: шаблоны не разворачиваются в коде, поэтому значение, в котором случайно оказалась кавычка, не может переписать то, что выполняется.

Условия намеренно не являются языком выражений. Одна подставляемая левая часть, один из пяти операторов сравнения и одна литеральная правая часть — этого хватает, чтобы ветвиться по тому, что написано на странице, и слишком мало, чтобы превратиться в язык, который через полгода никто не прочитает.

equalsnotEqualscontainsexistsselectorExists

Параметры

Автоматизация может объявить параметры — то, что она спрашивает перед запуском. Сценарий, который ищет по Дортмунду, и сценарий, который ищет по Эссену, должны быть одной автоматизацией с параметром «город», а не двумя копиями двенадцати шагов.

Любой параметр читается из любого подставляемого поля как переменная. Значение может прийти с трёх уровней — собственное значение по умолчанию у автоматизации, поверх него сохранённое значение профиля, а поверх — то, что на этот прогон дал диалог запуска или агент, — и побеждает самый конкретный.

Секретные параметры маскируются в интерфейсе и вычищаются из записи о прогоне. Параметры-списки становятся настоящими массивами, поэтому такой параметр можно подать прямо в элементы цикла.

texttextareanumberbooleanselectsecretlist

Расписания

У автоматизации может быть своё расписание: каждые N минут (от 5 до 1440), ежедневно в указанное время или еженедельно по выбранным дням — по списку профилей, на которых она выполняется. Никаких строк cron: и модальное окно, и значок на карточке, и агент, который пишет расписание через MCP, читают и пишут одну и ту же небольшую структуру.

Расписание срабатывает, пока лаунчер запущен. Оно — часть самой автоматизации, поэтому создать или изменить его через API можно теми же вызовами create и update.

Прогоны и уведомления

Каждый прогон записывается: какой профиль, какие шаги выполнились, время по каждому шагу и итог — успешно, завершено с ошибками, провалено или отменено. Частичный прогон сделал всё, что смог, и говорит, чего не смог, — а это не то же самое, что провал.

Запуск возвращает ответ, как только прогон зарегистрирован; дальше он идёт в фоне и попадает в историю, которую агент читает инструментом runs.

Когда прогон заканчивается — в три часа ночи, по расписанию или потому что его запустил агент, — Argus может отправить итог в Telegram: что выполнялось, на каком профиле и удалось ли. Один бот обслуживает всё рабочее пространство, но каждое сообщение личное: вы один раз привязываете свой чат, а дальше подписываетесь по каждой автоматизации — на все прогоны или только на сбои. Ваши подписки никогда не звонят в телефон коллеги.

Автоматизации могут по завершении уведомлять и через любой коннектор для сообщений — отдельно от шага «уведомить»: прогон, упавший на середине, всё равно кому-то об этом скажет, хотя шаг, который должен был сказать, так и не выполнился.

Начать с рецепта

Имена полей выше не угадываются, и первая автоматизация, написанная по ним с нуля, — это неспешный вечер. Готовых уже написано 4: рабочие сценарии в 2 стартовых наборах, и каждый приходит вместе с таблицами, из которых он читает и в которые пишет, и проектом, который держит их вместе. Загрузите один из лаунчера, прочитайте шаги и поменяйте всё, что не подходит: с момента появления это обычные строки.

Запуск продукта

Вся библиотека

Рассказать о том, что вы сделали, из аккаунта, который принадлежит вам, на площадке, которая о вас ещё не слышала, — и сохранить запись о том, где что было сказано.

Исходящая почта

Вся библиотека

Последовательность из двух касаний, отправляемая из ваших собственных ящиков тем, кто не просил вам писать; проход, который проверяет адреса и пишет первую фразу каждого письма; и одна таблица, в которой держится всё состояние.

Prepare the outreach list

Каждая строка стоит одного обращения к модели, а проверка адреса списывает кредит с вашего аккаунта, если верификатор настроен. И то и другое настраивать необязательно; без верификатора колонка просто останется пустой.

Шагов: 9не открывает страницсначала прочитайте

One profile · Opens no page · The Outreach list table

Outreach touch 1

Выберите на шаге «Send touch 1» свой почтовый ящик или назовите пул и прочитайте три параметра с текстом до первого прогона. Письмо не отозвать.

Шагов: 7не открывает страницсначала прочитайте

One profile · Opens no page · The Outreach list table · 5 settings on the run

Outreach touch 2

Выберите почтовый ящик и прочитайте параметры с текстом. В один день с касанием 1 письмо не уйдёт, но весь остальной интервал задаёте вы тем, как ставите эту последовательность в расписание.

Шагов: 7не открывает страницсначала прочитайте

One profile · Opens no page · The Outreach list table · 5 settings on the run

Вся библиотека перечисляет каждый рецепт с его настоящим списком шагов, таблицами, которыми он пользуется, и тем, о чём он спрашивает перед запуском.

Авторство через API

Автоматизации можно писать руками в лаунчере или создавать через локальный API — именно так делает агент-разработчик. Сначала запросите словарь шагов: имена полей не угадываются, а дерево, не прошедшее проверку, будет отклонено.

POST/v1/automations/create
{
  "name": "Sign in",
  "steps": [
    { "id": "s1", "type": "goto", "url": "https://example.com" },
    { "id": "s2", "type": "waitFor", "for": "selector", "selector": "h1" },
    { "id": "s3", "type": "extract", "selector": "h1", "what": "text", "into": "heading" }
  ]
}

Для создания, изменения и удаления автоматизации нужен ключ без ограничения по папкам: автоматизации общие для всех папок и своей папки не имеют. Ключ, ограниченный папками, всё равно может их перечислять, читать и запускать.

Параметры и расписания едут теми же вызовами: parameters и schedule — это поля create и update, и проверяются они ровно так же, как их проверяет редактор. Запуск возвращает ответ, как только прогон зарегистрирован: дальше он идёт в фоне, попадает в историю прогонов, а до вас по завершении доходит через шаг notify или подписку в Telegram.

Соберите свою

Редактор — в лаунчере, на вкладке «Автоматизации». Если вам нужны шаги с ИИ и уведомления, сначала подключите модель и сервис сообщений.