Two ways to automate profiles
Multime gives you two kinds of automation, and both work with your profiles as they are, with their own cookies, proxies and fingerprint settings.
| RPA flows | Local API | |
|---|---|---|
| Who it's for | Anyone who can describe the steps | Developers |
| How you build it | Pick steps in a visual editor | Write a script in any language |
| Runs across many profiles | Yes, with a thread limit | Yes, your script decides |
| Schedules | Built in: once, interval, daily, weekly | Your own scheduler |
| Works with | Excel, text files, Google Sheets, email, HTTP, OpenAI | Puppeteer, Playwright, Selenium |
RPA: a no-code flow editor
A flow is a list of steps. You add steps from a palette, fill in a few fields for each one, and drag them into order. Steps can sit inside loops and if/else blocks. Values in double braces, such as {{profile.name}} or {{row.email}}, are filled in when the flow runs.
There are more than 50 step types, grouped like this:
| Group | Steps |
|---|---|
| Web actions | Open URL, new tab, switch tab, close tab, refresh, go back, click, type text, hover, focus, pick from a drop-down, scroll, upload a file, run JavaScript, screenshot |
| Keyboard | Press a key, key combinations such as Ctrl/Cmd+A |
| Waits | Wait a random time, wait for an element to appear or go away, wait for a network request or for the network to go quiet |
| Get data | Read page elements, the URL or the clipboard; save to a text file or Excel; import rows from Excel or a text file; download a file; read a code from an email inbox; get a 2FA code; capture network requests and responses; get or clear cookies |
| Data processing | Extract text with a regular expression, parse JSON, read a field, pick at random, set variables |
| Profile info | Update the profile's remark or tags |
| Flow | If/else, repeat, for each element, for each data row, while, exit loop, open another profile, run another flow, quit the browser |
| Integrations | Google Sheets, HTTP request, OpenAI |
Steps that act like a person
The Type text step types key by key, with a random delay between keys taken from the typing speed in Settings, or pastes the text at once if you prefer. Waits and scrolls use a random value between two numbers, so a flow doesn't repeat the exact same timing every time.
Data in, data out
- Excel and text files. Import rows from an
.xlsx,.txtor.csvfile, then loop over them. "One row each" gives the first profile row 1, the second profile row 2, and so on. - Google Sheets. Read rows from a sheet shared as "anyone with the link can view", or add a row through a Google Apps Script web app.
- Email codes. Read a verification code from an inbox over IMAP, filtered by sender, subject and time.
- 2FA codes. Generate the current code from the 2FA secret saved with the profile's login.
- HTTP requests. Call a web address from Multime, or from the profile's browser so the request uses its proxy and cookies.
- OpenAI. Send a prompt with your own API key and save the answer. Any OpenAI-compatible service works if you change the API address.
Running flows
Pick a flow, pick profiles, and run. Multime opens each profile, runs the steps, and shows a live log with a result for every profile.
- Thread limit. Set how many profiles run at the same time (3 by default, up to 20) so your computer isn't overloaded.
- In the background. Closed profiles can open without a window. It's faster, but you can't watch them.
- When a step fails. Choose per flow whether to skip that profile, stop the run, or retry a set number of times.
- After the flow. Optionally close extra tabs or quit the browser.
- Debug runs. Run the version that's open in the editor on one profile to test it before saving.
- Templates and sharing. Start from a template such as "Log in with saved account + 2FA" or "Save page details to Excel", and export or import flows as JSON files.
Schedules
A schedule runs a flow on chosen profiles once, every few minutes or hours, every day at a set time, or on chosen weekdays. Each schedule has its own thread limit, a start time and an optional end. Multime has to be running on that computer for a schedule to start, because nothing runs in a cloud.
Examples
An agency with 40 client pages. Every Monday at 8:00, a scheduled flow opens each client's profile, four at a time, goes to the page's insights screen, reads the follower count with a regular expression, takes a screenshot and adds a row to an Excel file with {{profile.name}}, the number and the date. The account manager opens one spreadsheet instead of 40 tabs.
A seller with three shops. Each morning a flow opens the three shop profiles, reads the number of new orders from each dashboard, adds a row to a shared Google Sheet and tags the profile checked. The team sees the numbers before anyone logs in.
Logging in after a session expires. The "Log in with saved account + 2FA" template fills the login form with the profile's saved username and password, then enters the current 2FA code when the site asks for it.
Many platforms limit automated activity in their terms. Automate your own routine work, check each platform's rules first, and keep a person in the loop for anything that posts or sends messages.
The local API for developers
The local API runs on your computer at http://127.0.0.1:50325 (the port can be changed). It requires an API key by default, sent as Authorization: Bearer <key> or ?api_key=<key>. It listens only on your own computer and refuses requests that come from web pages. Every endpoint, with examples, is in the local API reference.
Start a profile and connect Puppeteer:
import puppeteer from 'puppeteer-core'
const res = await fetch('http://127.0.0.1:50325/api/v1/browser/start?user_id=PROFILE_ID', {
headers: { Authorization: 'Bearer YOUR_API_KEY' }
})
const { code, msg, data } = await res.json()
if (code !== 0) throw new Error(msg)
const browser = await puppeteer.connect({ browserWSEndpoint: data.ws.puppeteer, defaultViewport: null })
With Playwright, connect to the same endpoint:
const browser = await chromium.connectOverCDP(data.ws.puppeteer)
For Selenium, use the debugger address in data.ws.selenium with a ChromeDriver that matches the engine version. The profile opens with its own fingerprint settings, proxy and cookies.
| Endpoint | What it does |
|---|---|
/api/v1/browser/start |
Open a profile and return its DevTools endpoints |
/api/v1/browser/stop |
Close a profile |
/api/v1/browser/active |
Check whether a profile is open |
/api/v1/browser/local-active |
List the profiles open on this computer |
/api/v1/user/list, create, update, delete, regroup |
List and manage profiles |
/api/v1/group/list, create, update |
List and manage groups |
/api/v2/rpc |
Call other Multime functions, such as profiles.list |
The /api/v1 endpoints follow the same paths and response format as AdsPower's local API, which makes existing scripts easier to port. Test each script before you rely on it. Profiles can be referenced by ID or by their number.
Automation on teams
VAs can run flows only with the "Run RPA automations" permission, and can use the local API only with the "Use the local API" permission. Saving or deleting a flow is recorded in the owner's activity log. See team sharing.