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

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

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

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

Управление страницей
Восемь шагов, которые трогают браузер. Каждый выполняется внутри собственной сессии профиля, поэтому сайт видит собранную вами личность, а не автоматизационную обвязку: клики и нажатия приходят как настоящие события ввода в настоящих координатах, а не как скрипт, вызывающий click() на элементе. Шаг «нажать клавишу» — для тех клавиш, на которые форма реагирует, но которые никто не печатает в поле: Tab, чтобы перейти дальше, Escape, чтобы закрыть, стрелка, чтобы пройти по списку. «Решить капчу» — единственное исключение, о котором стоит знать, и то наполовину: он читает задачу и подставляет ответ прямо на странице, но покупает этот ответ из лаунчера, так что сервис никогда не видит ни прокси профиля, ни его cookie.
Go to
gotoGo to {url}
- url
- text · обязательное
- waitUntil
- select · одно из: load | domcontentloaded
Wait for
waitForWait for {for}
- for
- select · обязательное · одно из: selector | selectorGone | url | text
- selector
- text
- url
- text
- text
- text
Click
clickClick {selector}
- selector
- text · обязательное
- nth
- number
Type
typeType into {selector}
- selector
- text · обязательное
- text
- text · обязательное
- clear
- boolean
- delayMs
- number
- pressEnter
- boolean
Press a key
pressPress {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
scrollScroll to {to}
- to
- select · обязательное · одно из: bottom | top | selector
- selector
- text
Screenshot
screenshotScreenshot
- selector
- text
- fullPage
- boolean
Solve captcha
solveCaptchaSolve 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
extractRead {selector} into {into}
- selector
- text · обязательное
- what
- select · одно из: text | html | attr | value
- attr
- text
- all
- boolean
- into
- text · обязательное
Run script
evaluateRun 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
saveCookiesSave 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
- 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
aiPromptAsk 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
aiCheckAI 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
aiAgentAgent 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
ifIf {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 готовых сборщиков каталога Скраперы и выполняет его прямо внутри сценария — тем же кодом, каким его выполняет вкладка «Скраперы», так что сбор, начатый шагом, и сбор, начатый руками, кладут одинаковые строки в одинаково устроенные таблицы. Окно браузера при этом не открывается, а сборщик — не автоматизация, поэтому он не тратит ни одного слота автоматизаций из вашего тарифа.
Поиск и SEO
Google Keyword Ideas · YouTube Keyword Ideas · Bing Keyword Ideas · Amazon Keyword Ideas · Google Trending Now · YouTube Search Results · Google Search Results · Google Trends · YouTube Transcripts
Места
Соцсети
Instagram Profiles · Instagram Posts · Instagram Followers · LinkedIn Profiles · LinkedIn Companies · LinkedIn Company Posts · LinkedIn Posts · LinkedIn Post Comments · TikTok Profiles · TikTok Profile Videos · TikTok Videos · X Profiles · X Posts · X Post Lookup
Торговля
Вакансии
Indeed Jobs · Greenhouse Job Boards · Ashby Job Boards · Lever Job Boards
Панель добавления шага перечисляет их по сервисам, по строке на сборщик, а не одной общей записью, — так сборщик выбирается ещё до того, как шаг появился, и шаг приходит уже с собственной формой этого скрапера: с его настоящими параметрами, теми же, о которых спрашивает вкладка, а не с нетипизированным мешком ключей и значений. Всё, что оставлено пустым, берётся из того, что вводили в этот скрапер в прошлый раз. Одна общая строка всё же осталась — на случай, который списком не покрыть: шаг, у которого скрапер задан шаблоном {{vars.x}} и решается уже по ходу прогона.
Дальше он задаёт вопрос, которого вкладке «Скраперы» задавать не приходится: куда лягут строки. По умолчанию каждый прогон создаёт новую таблицу — ровно так делает и вкладка: имя из поискового запроса и минуты, папка по имени скрапера. Направьте его в таблицу — и вы называете её сами: если её ещё нет, она создаётся с собственными колонками этого скрапера, а каждый следующий прогон дописывает в неё строки или обновляет строку на месте, если вы укажете колонку для сопоставления. Именно второй режим позволяет сбору по расписанию копиться в одну таблицу, а не оставлять каждую ночь новую.
В любом случае шаг передаёт следующему не голое имя, а объект: таблицу, её идентификатор и сколько строк пришло. Направьте следующий loadRows на {{vars.<name>.table}} — и автоматизация прочитает обратно только что собранное; ветвитесь по {{vars.<name>.rows}}, чтобы пропустить остаток прогона, когда ничего не нашлось.
Переменные и условия
Любое поле, помеченное как подставляемое, разворачивает шаблоны до выполнения шага: {{vars.name}} — то, что сохранил предыдущий шаг, {{profile.email}} и {{profile.password}} — собственные сохранённые учётные данные профиля, а {{loop.item}} — внутри цикла.
Одно поле исключено намеренно. Шаг «выполнить скрипт» никогда не подставляет ничего в свой скрипт: шаблоны не разворачиваются в коде, поэтому значение, в котором случайно оказалась кавычка, не может переписать то, что выполняется.
Условия намеренно не являются языком выражений. Одна подставляемая левая часть, один из пяти операторов сравнения и одна литеральная правая часть — этого хватает, чтобы ветвиться по тому, что написано на странице, и слишком мало, чтобы превратиться в язык, который через полгода никто не прочитает.
Параметры
Автоматизация может объявить параметры — то, что она спрашивает перед запуском. Сценарий, который ищет по Дортмунду, и сценарий, который ищет по Эссену, должны быть одной автоматизацией с параметром «город», а не двумя копиями двенадцати шагов.
Любой параметр читается из любого подставляемого поля как переменная. Значение может прийти с трёх уровней — собственное значение по умолчанию у автоматизации, поверх него сохранённое значение профиля, а поверх — то, что на этот прогон дал диалог запуска или агент, — и побеждает самый конкретный.
Секретные параметры маскируются в интерфейсе и вычищаются из записи о прогоне. Параметры-списки становятся настоящими массивами, поэтому такой параметр можно подать прямо в элементы цикла.
Расписания
У автоматизации может быть своё расписание: каждые N минут (от 5 до 1440), ежедневно в указанное время или еженедельно по выбранным дням — по списку профилей, на которых она выполняется. Никаких строк cron: и модальное окно, и значок на карточке, и агент, который пишет расписание через MCP, читают и пишут одну и ту же небольшую структуру.
Расписание срабатывает, пока лаунчер запущен. Оно — часть самой автоматизации, поэтому создать или изменить его через API можно теми же вызовами create и update.
Прогоны и уведомления
Каждый прогон записывается: какой профиль, какие шаги выполнились, время по каждому шагу и итог — успешно, завершено с ошибками, провалено или отменено. Частичный прогон сделал всё, что смог, и говорит, чего не смог, — а это не то же самое, что провал.
Запуск возвращает ответ, как только прогон зарегистрирован; дальше он идёт в фоне и попадает в историю, которую агент читает инструментом runs.
Когда прогон заканчивается — в три часа ночи, по расписанию или потому что его запустил агент, — Argus может отправить итог в Telegram: что выполнялось, на каком профиле и удалось ли. Один бот обслуживает всё рабочее пространство, но каждое сообщение личное: вы один раз привязываете свой чат, а дальше подписываетесь по каждой автоматизации — на все прогоны или только на сбои. Ваши подписки никогда не звонят в телефон коллеги.
Автоматизации могут по завершении уведомлять и через любой коннектор для сообщений — отдельно от шага «уведомить»: прогон, упавший на середине, всё равно кому-то об этом скажет, хотя шаг, который должен был сказать, так и не выполнился.
Начать с рецепта
Имена полей выше не угадываются, и первая автоматизация, написанная по ним с нуля, — это неспешный вечер. Готовых уже написано 4: рабочие сценарии в 2 стартовых наборах, и каждый приходит вместе с таблицами, из которых он читает и в которые пишет, и проектом, который держит их вместе. Загрузите один из лаунчера, прочитайте шаги и поменяйте всё, что не подходит: с момента появления это обычные строки.
Запуск продукта
Вся библиотекаРассказать о том, что вы сделали, из аккаунта, который принадлежит вам, на площадке, которая о вас ещё не слышала, — и сохранить запись о том, где что было сказано.
Исходящая почта
Вся библиотекаПоследовательность из двух касаний, отправляемая из ваших собственных ящиков тем, кто не просил вам писать; проход, который проверяет адреса и пишет первую фразу каждого письма; и одна таблица, в которой держится всё состояние.
Prepare the outreach list
Каждая строка стоит одного обращения к модели, а проверка адреса списывает кредит с вашего аккаунта, если верификатор настроен. И то и другое настраивать необязательно; без верификатора колонка просто останется пустой.
One profile · Opens no page · The Outreach list table
Outreach touch 1
Выберите на шаге «Send touch 1» свой почтовый ящик или назовите пул и прочитайте три параметра с текстом до первого прогона. Письмо не отозвать.
One profile · Opens no page · The Outreach list table · 5 settings on the run
Outreach touch 2
Выберите почтовый ящик и прочитайте параметры с текстом. В один день с касанием 1 письмо не уйдёт, но весь остальной интервал задаёте вы тем, как ставите эту последовательность в расписание.
One profile · Opens no page · The Outreach list table · 5 settings on the run
Вся библиотека перечисляет каждый рецепт с его настоящим списком шагов, таблицами, которыми он пользуется, и тем, о чём он спрашивает перед запуском.
Авторство через API
Автоматизации можно писать руками в лаунчере или создавать через локальный API — именно так делает агент-разработчик. Сначала запросите словарь шагов: имена полей не угадываются, а дерево, не прошедшее проверку, будет отклонено.
/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.
Соберите свою
Редактор — в лаунчере, на вкладке «Автоматизации». Если вам нужны шаги с ИИ и уведомления, сначала подключите модель и сервис сообщений.