Skip to main content
Name each profile you run, such as @acme on Instagram, and say which iPhone it’s signed in on. A task for @acme then runs on that phone, starts in Instagram, and goes out as @acme. A profile is a handle on a social app. Your Mobster account, the one you sign in to Mobster with, is a different thing: it lives in Settings › Account (Account).

The Profiles page

Profiles lists the profiles you run by the iPhone each is signed in on: one section per phone, with its profiles as rows (the app’s icon, the handle, the app and how replies sound). Open it from Settings (Profiles in the iPhones group), from ⌘K, or with Manage profiles… in the task box’s profile chip. A phone that isn’t connected says Not connected, and its profiles’ tasks wait for it.
  • Move a profile to another phone: drag its row onto that phone’s section, or choose Move to in its ⋯ menu. Press esc to put a dragged profile back. Losing window focus also cancels the drag. Moving a profile assigns its phone; it does not sign in for you.
  • Add a profile on a phone: Add beside the phone’s name.
  • Open a profile: click its row. Its page lists what Mobster knows about writing as it, each with where it came from: its voice, signature, links, values and phone settings (You), the check Mobster makes on screen before it posts (Mobster), and what your memory holds about its app. Edit opens its form in place, and Use in a task starts a task as it in the task box.

Run a task on every profile

Run on every profile opens a panel under the page’s title. Write what to do as each profile, such as “Reply to new comments on my last 5 posts”, untick the profiles to leave out, and choose Run on 6 profiles. Mobster starts one task for each profile, on the iPhone it’s signed in on, and lists each with Open. A phone runs its profiles’ tasks one after another. Sending follows each task’s permission mode.

Add a profile

Choose Add a profile on the Profiles page. Each profile has:
  • Handle and App: @acme on Instagram. The same handle can be on several apps, once per app.
  • iPhone it’s signed in on: tasks for this profile run on this phone. Default phone uses the phone a task would use anyway. When you forget a phone, its profiles move to Default phone.
  • How replies should sound: notes Mobster’s agent reads before it writes as this profile (“Warm and short. First names. No emoji.”).
  • Signature and Links, such as Shop and https://acme.com/shop.
  • Values: any other name and value a task fills in, such as caption.
  • Region, language and time zone (optional): what the phone should be set to, such as US, en and America/Chicago.
Profiles don’t keep passwords, card numbers or API keys, and Mobster refuses a value that looks like one. A discount code (“Use code ACME20”) is fine.

Run a task as a profile

  • In the task box, write the handle: “Reply to my new comments as @acme”. The profile chip beside the + picks it up. Choose another profile there, or No profile.
  • In a conversation, the next task keeps the profile the last one used, so “now reply to the next one” stays @acme.
  • From an agent, pass profile to phone_task (MCP tools). list_profiles names your profiles.
  • In a workflow, save it with account, the API’s name for a profile (Schedules and workflows).

Values in a task

Write a value’s name in braces and each profile fills in its own: Post today's photo with the caption {caption} and {link}. Braces around any other word stay as they are.

The check before posting

Before Mobster’s agent posts, replies, comments, reacts or sends a message in the profile’s app, it confirms which profile is signed in. It reads the app’s own profile screen, the one with Edit profile, and looks for the handle at the top. The run shows this step as Check the profile.
  • The profile matches. The task goes on. In Ask before acting, the approval says As @acme on Instagram.
  • Another profile is signed in. The task stops before anything is sent: “This would post as @sam.personal, not @acme. Mobster stopped before posting.”
  • Mobster can’t tell. The post waits while the agent opens the profile screen. After three tries the task stops: “Mobster couldn’t confirm on screen that @acme is signed in to Instagram, so it stopped before posting.”

Before a task starts

A task for a profile starts only if the profile has no security check waiting and the phone’s region, language and time zone match what the profile expects. A value Mobster can’t read doesn’t stop the task, and it can’t read the phone’s language yet. Otherwise the task doesn’t start and nothing is done: the message names both values and what to change. Devices and health has the details, the alerts for a signed-out or challenged profile, and Mark as handled. Mobster never switches profiles inside an app. Switch on the phone, then run the task again. Someone else’s profile (one with Follow or Message) never counts as yours.

Several profiles at once

POST /api/accounts/runs starts one task per profile, each on its own phone:
Run on every profile is the same request as one task. POST /api/runs with "profiles": "all" (or a list of ids and handles) and a goal starts one run per profile on that profile’s phone, as one group (GET /api/groups/<id>), with one result per profile in its summary. MCP’s phone_task takes the same profiles.
  • It runs on Mobster’s agent only, which confirms each profile on screen before it posts or sends, and keeps each profile’s pace and its phone’s lock.
  • Profiles on different phones start together. Profiles that share a phone run one after another, in the order you give, because a phone does one task at a time. A phone that is locked or busy, a profile with no phone, or a profile at its pace limit is that profile’s result, and the others go on.
  • Nothing is retried. The same Idempotency-Key is the same group, and a profile whose run ended with an unknown outcome is not started again.
POST /api/accounts/runs starts one task per profile with no group. A phone runs one task at a time, so on that route two profiles on the same phone are refused up front. A phone that can’t start says why in its row, and the others run. Every task as a profile keeps the profile’s pace (a daily limit and a gap for posts, messages, comments, follows and likes) and stops on an app’s captcha or verification, pausing the profile: Content queue › Pacing. If Mobster cannot read the profile’s pacing settings or history, it stops before acting. To post a list of photos and videos across your profiles, each at its own time, use the Content queue: it sends each post’s media to its profile’s phone first, and posts on several phones at once.

The profiles API

Profiles were called Accounts when they shipped, in 0.4.0. The API kept that name, so every script that calls it works as before: the routes are under /api/accounts, and a run, a message and a workflow name a profile with account. POST /api/runs and a conversation’s message take account: a profile’s id, @acme, or @acme on Instagram when the handle is on two apps. Profiles are kept in accounts.json beside the task history, the same file 0.4.0 wrote. Mobster Remote and MCP can read the list but never change it.

Names from 0.4.0