All twins

Service twin · API + UI

Slack

Test workplace agents that answer questions, coordinate teams, and act across channels and threads.

API + UIspec-groundedREST · MCP · CLI
Terminal
$ uv tool install blobfish-cli
$ blobfish twin login
$ blobfish twin-runs create --twins slack --ttl 60 --wait

What’s inside

A deterministic, seeded, resettable replica: every operation below executes real state transitions against the twin’s own SQLite state — reads are hash-invariant, writes produce inspectable diffs, and reset restores the seed baseline.

Operations174
Reads57
Writes117
Entities61
Lifecycles0

Seeded entities

EntityTableFieldsAbout
admin_appadmin_apps5Inferred from operation parameters (spec has no named schema).
admin_apps_approvedadmin_apps_approveds2Inferred from operation parameters (spec has no named schema).
admin_apps_requestadmin_apps_requests2Inferred from operation parameters (spec has no named schema).
admin_apps_restrictedadmin_apps_restricteds2Inferred from operation parameters (spec has no named schema).
admin_conversationadmin_conversations13Inferred from operation parameters (spec has no named schema).
admin_conversations_ekmadmin_conversations_ekms2Inferred from operation parameters (spec has no named schema).
admin_conversations_restrict_accessadmin_conversations_restrict_accesses6Inferred from operation parameters (spec has no named schema).
admin_emojiadmin_emojis7Inferred from operation parameters (spec has no named schema).
admin_invite_requestadmin_invite_requests4Inferred from operation parameters (spec has no named schema).
admin_invite_requests_approvedadmin_invite_requests_approveds2Inferred from operation parameters (spec has no named schema).
admin_invite_requests_deniedadmin_invite_requests_denieds2Inferred from operation parameters (spec has no named schema).
admin_teamadmin_teams6Inferred from operation parameters (spec has no named schema).
admin_teams_adminadmin_teams_admins2Inferred from operation parameters (spec has no named schema).
admin_teams_owneradmin_teams_owners2Inferred from operation parameters (spec has no named schema).
admin_teams_settingadmin_teams_settings9Inferred from operation parameters (spec has no named schema).
admin_useradmin_users13Inferred from operation parameters (spec has no named schema).
admin_usergroupadmin_usergroups7Inferred from operation parameters (spec has no named schema).
admin_users_sessionadmin_users_sessions7Inferred from operation parameters (spec has no named schema).
apiapis2Inferred from operation parameters (spec has no named schema).
appapps2Inferred from operation parameters (spec has no named schema).
apps_event_authorizationapps_event_authorizations2Inferred from operation parameters (spec has no named schema).
apps_permissionapps_permissions2Inferred from operation parameters (spec has no named schema).
apps_permissions_resourceapps_permissions_resources2Inferred from operation parameters (spec has no named schema).
apps_permissions_scopeapps_permissions_scopes2Inferred from operation parameters (spec has no named schema).
apps_permissions_userapps_permissions_users2Inferred from operation parameters (spec has no named schema).
authauths2Inferred from operation parameters (spec has no named schema).
botbots2Inferred from operation parameters (spec has no named schema).
bot_profilebot_profiles7
callcalls11Inferred from operation parameters (spec has no named schema).
calls_participantcalls_participants3Inferred from operation parameters (spec has no named schema).
channelchannels32
commentcomments11
dialogdialogs2Inferred from operation parameters (spec has no named schema).
dnd_statusdnd_statuses4Inferred from operation parameters (spec has no named schema).
emojiemojis2Inferred from operation parameters (spec has no named schema).
enterprise_userenterprise_users6
external_org_migrationexternal_org_migrations3
filefiles48
iconicons9
messagemessages41
migrationmigrations2Inferred from operation parameters (spec has no named schema).
oauthoauths2Inferred from operation parameters (spec has no named schema).
oauth_v2oauth_v2s2Inferred from operation parameters (spec has no named schema).
pagingpagings7
pinpins4Inferred from operation parameters (spec has no named schema).
primary_ownerprimary_owners2
reactionreactions4
reminderreminders7
resourceresources4
rtmrtms2Inferred from operation parameters (spec has no named schema).
starstars6Inferred from operation parameters (spec has no named schema).
subteamsubteams21
teamteams29
team_profile_fieldteam_profile_fields9
team_profile_field_optionteam_profile_field_options5
userusers12Inferred from operation parameters (spec has no named schema).
user_profileuser_profiles44
user_profile_shortuser_profile_shorts12
usergroupusergroups9Inferred from operation parameters (spec has no named schema).
viewviews2Inferred from operation parameters (spec has no named schema).
workflowworkflows2Inferred from operation parameters (spec has no named schema).

Three surfaces, one state

Mount Slack in a twin environment and the same seeded state serves vendor-shaped REST operations, an MCP endpoint for tool calling, and a generated bf-twin CLI — with copy-on-write sessions per rollout and a one-call reset to the seed baseline. Prefer raw HTTP? The same create works with curl:

API
$ curl -sS -X POST https://blobfish.ai/api/v1/twin/environments \
    -H "X-API-Key: $BLOBFISH_API_KEY" -H "Content-Type: application/json" \
    -d '{"services":["slack"],"ttl_minutes":60}'

Known limitations

Spec-grounded surface with synthetic seeded values; operations outside the spec are not mounted.