Run automation
Group jobs
Run the same steps on many phones in one call.
A group job
POST /v1/groups
{
"phones": ["c3f9a41d2", "c81d07e5a", "c2b9f4a10"],
"steps": [
{"op":"install_app","package":"com.example.app"},
{"op":"open_app","package":"com.example.app"},
{"op":"wait_text","text":"Welcome","seconds":20},
{"op":"screenshot"}
]
}
# → 202 {"job": {"id": "j_8a1c", "state": "running"}}
GET /v1/jobs/j_8a1c
# → {"job": {"state": "done", "output": "{\"per_phone\": {\"c3f9a41d2\": {\"state\": \"done\", …}}}"}}A job runs on up to 32 phones in parallel, on any server. Each phone starts at a random moment within the stagger you give, and the job reports the progress of every phone. vars_by_phone gives each phone its own input values.
Steps
open_app, close_app, install_app, url, tap, swipe, text, key, wait (random between seconds and seconds_max), browse, scroll, if_text / unless_text (skip the next steps unless a text is on screen), screenshot, start, stop, restart.
Schedules
A schedule is the same job on a clock: POST /v1/schedules with name, phones, steps, stagger, at ("HH:MM", UTC) and days (1 to 7). Pause it with /toggle and remove it with /delete.