productivity
Typefully CLI for AI Agents
Use the Typefully CLI from KosmoKrator to call Typefully tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Typefully CLI Setup
Typefully can be configured headlessly with `kosmokrator integrations:configure typefully`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure typefully --set api_key="$TYPEFULLY_API_KEY" --enable --read allow --write ask --json
kosmokrator integrations:doctor typefully --json
kosmokrator integrations:status --json Credentials
Authentication type: API key api_key. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_key | TYPEFULLY_API_KEY | Secret secret | yes | API Key |
url | TYPEFULLY_URL | URL url | no | API Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call typefully.typefully_get_current_user '{}' --json kosmo integrations:typefully typefully_get_current_user '{}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs typefully --json
kosmo integrations:docs typefully.typefully_get_current_user --json
kosmo integrations:schema typefully.typefully_get_current_user --json
kosmo integrations:search "Typefully" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
typefully.typefully_get_current_user
Get the authenticated Typefully user profile.
read - Parameters
- none
kosmo integrations:call typefully.typefully_get_current_user '{}' --json kosmo integrations:typefully typefully_get_current_user '{}' --json typefully.typefully_list_social_sets
List Typefully social sets available to the authenticated API key.
read - Parameters
- limit, offset
kosmo integrations:call typefully.typefully_list_social_sets '{"limit":1,"offset":1}' --json kosmo integrations:typefully typefully_list_social_sets '{"limit":1,"offset":1}' --json typefully.typefully_get_social_set
Get Typefully social set details by ID.
read - Parameters
- social_set_id
kosmo integrations:call typefully.typefully_get_social_set '{"social_set_id":"example_social_set_id"}' --json kosmo integrations:typefully typefully_get_social_set '{"social_set_id":"example_social_set_id"}' --json typefully.typefully_list_drafts
List Typefully drafts for a social set with optional status, tag, and sorting filters.
read - Parameters
- social_set_id, status, tags, limit, offset, sort
kosmo integrations:call typefully.typefully_list_drafts '{"social_set_id":"example_social_set_id","status":"example_status","tags":"example_tags","limit":1,"offset":1,"sort":"example_sort"}' --json kosmo integrations:typefully typefully_list_drafts '{"social_set_id":"example_social_set_id","status":"example_status","tags":"example_tags","limit":1,"offset":1,"sort":"example_sort"}' --json typefully.typefully_list_scheduled
List scheduled Typefully drafts for a social set.
read - Parameters
- social_set_id, limit, offset, sort
kosmo integrations:call typefully.typefully_list_scheduled '{"social_set_id":"example_social_set_id","limit":1,"offset":1,"sort":"example_sort"}' --json kosmo integrations:typefully typefully_list_scheduled '{"social_set_id":"example_social_set_id","limit":1,"offset":1,"sort":"example_sort"}' --json typefully.typefully_list_published
List published Typefully drafts for a social set.
read - Parameters
- social_set_id, limit, offset, sort
kosmo integrations:call typefully.typefully_list_published '{"social_set_id":"example_social_set_id","limit":1,"offset":1,"sort":"example_sort"}' --json kosmo integrations:typefully typefully_list_published '{"social_set_id":"example_social_set_id","limit":1,"offset":1,"sort":"example_sort"}' --json typefully.typefully_get_draft
Get one Typefully draft by social set ID and draft ID.
read - Parameters
- social_set_id, draft_id
kosmo integrations:call typefully.typefully_get_draft '{"social_set_id":"example_social_set_id","draft_id":"example_draft_id"}' --json kosmo integrations:typefully typefully_get_draft '{"social_set_id":"example_social_set_id","draft_id":"example_draft_id"}' --json typefully.typefully_create_draft
Create a Typefully v2 draft for a social set. Use platforms for full multi-platform control, or content plus platform for a simple post.
write - Parameters
- social_set_id, platforms, content, platform, posts, publish_at, title, tags, share, reply_to
kosmo integrations:call typefully.typefully_create_draft '{"social_set_id":"example_social_set_id","platforms":"example_platforms","content":"example_content","platform":"example_platform","posts":"example_posts","publish_at":"example_publish_at","title":"example_title","tags":"example_tags"}' --json kosmo integrations:typefully typefully_create_draft '{"social_set_id":"example_social_set_id","platforms":"example_platforms","content":"example_content","platform":"example_platform","posts":"example_posts","publish_at":"example_publish_at","title":"example_title","tags":"example_tags"}' --json typefully.typefully_update_draft
Update a Typefully draft, including platforms, publish_at, tags, share, or title.
write - Parameters
- social_set_id, draft_id, platforms, publish_at, title, tags, share, reply_to
kosmo integrations:call typefully.typefully_update_draft '{"social_set_id":"example_social_set_id","draft_id":"example_draft_id","platforms":"example_platforms","publish_at":"example_publish_at","title":"example_title","tags":"example_tags","share":true,"reply_to":"example_reply_to"}' --json kosmo integrations:typefully typefully_update_draft '{"social_set_id":"example_social_set_id","draft_id":"example_draft_id","platforms":"example_platforms","publish_at":"example_publish_at","title":"example_title","tags":"example_tags","share":true,"reply_to":"example_reply_to"}' --json typefully.typefully_delete_draft
Delete a Typefully draft by social set ID and draft ID.
write - Parameters
- social_set_id, draft_id
kosmo integrations:call typefully.typefully_delete_draft '{"social_set_id":"example_social_set_id","draft_id":"example_draft_id"}' --json kosmo integrations:typefully typefully_delete_draft '{"social_set_id":"example_social_set_id","draft_id":"example_draft_id"}' --json typefully.typefully_request_media_upload
Request a presigned Typefully media upload URL for a social set.
write - Parameters
- social_set_id, file_name, file_type, file_size
kosmo integrations:call typefully.typefully_request_media_upload '{"social_set_id":"example_social_set_id","file_name":"example_file_name","file_type":"example_file_type","file_size":1}' --json kosmo integrations:typefully typefully_request_media_upload '{"social_set_id":"example_social_set_id","file_name":"example_file_name","file_type":"example_file_type","file_size":1}' --json typefully.typefully_get_media
Get processing status and URLs for Typefully media by media ID.
read - Parameters
- social_set_id, media_id
kosmo integrations:call typefully.typefully_get_media '{"social_set_id":"example_social_set_id","media_id":"example_media_id"}' --json kosmo integrations:typefully typefully_get_media '{"social_set_id":"example_social_set_id","media_id":"example_media_id"}' --json typefully.typefully_list_tags
List tags for a Typefully social set.
read - Parameters
- social_set_id, limit, offset
kosmo integrations:call typefully.typefully_list_tags '{"social_set_id":"example_social_set_id","limit":1,"offset":1}' --json kosmo integrations:typefully typefully_list_tags '{"social_set_id":"example_social_set_id","limit":1,"offset":1}' --json typefully.typefully_create_tag
Create a tag for a Typefully social set.
write - Parameters
- social_set_id, name
kosmo integrations:call typefully.typefully_create_tag '{"social_set_id":"example_social_set_id","name":"example_name"}' --json kosmo integrations:typefully typefully_create_tag '{"social_set_id":"example_social_set_id","name":"example_name"}' --json typefully.typefully_get_queue
Get upcoming scheduled content for a Typefully social set.
read - Parameters
- social_set_id, limit, offset
kosmo integrations:call typefully.typefully_get_queue '{"social_set_id":"example_social_set_id","limit":1,"offset":1}' --json kosmo integrations:typefully typefully_get_queue '{"social_set_id":"example_social_set_id","limit":1,"offset":1}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
typefully.typefully_get_current_user 0 parameters
kosmo integrations:schema typefully.typefully_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
typefully.typefully_list_social_sets 2 parameters
kosmo integrations:schema typefully.typefully_list_social_sets --json | Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of social sets to return. |
offset | integer | no | Number of social sets to skip for pagination. |
typefully.typefully_get_social_set 1 parameters
kosmo integrations:schema typefully.typefully_get_social_set --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
typefully.typefully_list_drafts 6 parameters
kosmo integrations:schema typefully.typefully_list_drafts --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
status | string | no | Draft status filter such as draft, scheduled, or published. |
tags | array | no | Tag slugs to filter by. |
limit | integer | no | Maximum number of drafts to return. |
offset | integer | no | Number of drafts to skip. |
sort | string | no | Sort field such as created_at, updated_at, scheduled_date, or published_at. |
typefully.typefully_list_scheduled 4 parameters
kosmo integrations:schema typefully.typefully_list_scheduled --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
limit | integer | no | Maximum number of drafts to return. |
offset | integer | no | Number of drafts to skip for pagination. |
sort | string | no | Sort field such as scheduled_date, created_at, updated_at, or published_at. |
typefully.typefully_list_published 4 parameters
kosmo integrations:schema typefully.typefully_list_published --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
limit | integer | no | Maximum number of drafts to return. |
offset | integer | no | Number of drafts to skip for pagination. |
sort | string | no | Sort field such as published_at, created_at, updated_at, or scheduled_date. |
typefully.typefully_get_draft 2 parameters
kosmo integrations:schema typefully.typefully_get_draft --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
draft_id | string | yes | Typefully draft ID. |
typefully.typefully_create_draft 10 parameters
kosmo integrations:schema typefully.typefully_create_draft --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. Get it from typefully_list_social_sets. |
platforms | object | no | Full v2 platforms payload keyed by x, linkedin, threads, bluesky, or mastodon. |
content | string | no | Simple content shortcut when platforms is omitted. |
platform | string | no | Simple shortcut platform when platforms is omitted. Defaults to x. |
posts | array | no | Simple shortcut posts array. Each item may contain text and media_ids. |
publish_at | string | no | ISO 8601 datetime, "now", or "next-free-slot". Omit to save as draft. |
title | string | no | Optional internal draft title. |
tags | array | no | Tag slugs to assign to the draft. |
share | boolean | no | Whether to generate or enable public sharing for the draft. |
reply_to | string | no | Optional post URL or platform reference to publish as a reply. |
typefully.typefully_update_draft 8 parameters
kosmo integrations:schema typefully.typefully_update_draft --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
draft_id | string | yes | Typefully draft ID. |
platforms | object | no | Updated v2 platforms payload. |
publish_at | string | no | ISO 8601 datetime, "now", or "next-free-slot". |
title | string | no | Updated internal title. |
tags | array | no | Updated tag slugs. |
share | boolean | no | Whether public sharing is enabled. |
reply_to | string | no | Reply target reference. |
typefully.typefully_delete_draft 2 parameters
kosmo integrations:schema typefully.typefully_delete_draft --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
draft_id | string | yes | Typefully draft ID. |
typefully.typefully_request_media_upload 4 parameters
kosmo integrations:schema typefully.typefully_request_media_upload --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
file_name | string | yes | File name to upload. |
file_type | string | no | Optional MIME type if required by Typefully. |
file_size | integer | no | Optional file size in bytes if required by Typefully. |
typefully.typefully_get_media 2 parameters
kosmo integrations:schema typefully.typefully_get_media --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
media_id | string | yes | Typefully media ID. |
typefully.typefully_list_tags 3 parameters
kosmo integrations:schema typefully.typefully_list_tags --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
limit | integer | no | Maximum number of tags to return. |
offset | integer | no | Number of tags to skip. |
typefully.typefully_create_tag 2 parameters
kosmo integrations:schema typefully.typefully_create_tag --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
name | string | yes | Tag display name. |
typefully.typefully_get_queue 3 parameters
kosmo integrations:schema typefully.typefully_get_queue --json | Parameter | Type | Required | Description |
|---|---|---|---|
social_set_id | string | yes | Typefully social set ID. |
limit | integer | no | Maximum number of queue items to return. |
offset | integer | no | Number of queue items to skip. |
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.