# Typefully

Typefully is a platform for creating and managing AI-powered content

- **Category:** social media marketing
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 5
- **Triggers:** 0
- **Slug:** `TYPEFULLY`
- **Version:** 20260414_00

## Tools

### Create Draft (v2)

**Slug:** `TYPEFULLY_CREATE_DRAFT`

Create a new draft with platform-specific content for multi-platform publishing. Use this action when you need to create a draft that can target multiple social media platforms (X, LinkedIn, Threads, Bluesky, Mastodon) simultaneously. The draft can be saved for later editing, scheduled for a specific time or next available slot, or published immediately. Supports scheduling options via publish_at: "now" for immediate publishing, "next-free-slot" for your next available posting window, or an ISO 8601 datetime string with timezone for a specific scheduled time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | No | List of tag slugs (not names) associated with this draft. Tags must already exist in the social set. Maximum 10 tags. |
| `share` | boolean | No | Whether to generate a public share URL for this draft. When true, anyone with the URL can view the draft content. |
| `platforms` | object | Yes | Configuration for all platforms. At least one platform must be enabled with posts. |
| `publish_at` | string | No | When to publish: "now" to publish immediately, "next-free-slot" to schedule to your next available slot, or an ISO 8601 datetime string with timezone for a specific future time (e.g., "2025-01-20T14:00:00Z"). Omit to save as draft. |
| `draft_title` | string | No | Human-readable title for the draft. This is for internal organization only and is not posted to social media. |
| `social_set_id` | integer | Yes | The ID of the social set (account) to create the draft under |
| `scratchpad_text` | string | No | Plain text scratchpad notes for the draft. Formatting is stripped. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Tag

**Slug:** `TYPEFULLY_CREATE_TAG`

Creates a new tag for organizing drafts within a social set in Typefully. Use this action when you need to add a new organizational tag to help categorize and group drafts within a specific social account. The tag's slug is automatically generated from the provided name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Display name for the tag. The slug will be auto-generated from this name. |
| `social_set_id` | integer | Yes | The ID of the social set (account) to create the tag under |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Draft

**Slug:** `TYPEFULLY_DELETE_DRAFT`

Permanently deletes a draft from Typefully. This action cannot be undone. Use this action when you need to remove a draft that is no longer needed. WARNING: This is a destructive operation. Once deleted, the draft cannot be recovered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `draft_id` | integer | Yes | The ID of the draft to delete |
| `social_set_id` | integer | Yes | The ID of the social set (account) containing the draft |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current User

**Slug:** `TYPEFULLY_GET_CURRENT_USER`

Get the current authenticated user's information. Returns user details including profile information, email, signup date, and optional profile image URL. Use this action when you need to retrieve the profile information of the currently authenticated Typefully user, such as for displaying user details or verifying authentication.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Draft

**Slug:** `TYPEFULLY_GET_DRAFT`

Retrieves a single draft by its ID with full details including platform-specific content, tags, status, and scheduling information. Use this action when you need to retrieve comprehensive details about a specific draft in Typefully. This action requires both the social_set_id and draft_id path parameters to identify the specific draft.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `draft_id` | integer | Yes | Unique identifier of the draft to retrieve |
| `social_set_id` | integer | Yes | ID of the social set (account) containing the draft |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Media Status

**Slug:** `TYPEFULLY_GET_MEDIA_STATUS`

Check the processing status of an uploaded media file. Use when you need to poll the status of a media file after uploading it. Poll this endpoint until status becomes 'ready' before using the media in drafts. Returns status (processing/ready/failed) and media_urls when ready. This action is read-only and idempotent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `media_id` | string | Yes | The unique identifier of the media file (UUID format) |
| `social_set_id` | integer | Yes | The ID of the social set (account) that owns the media |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Notifications

**Slug:** `TYPEFULLY_GET_NOTIFICATIONS`

Get notifications from Typefully. Can be filtered by kind (inbox or activity).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `kind` | string ("inbox" | "activity") | No | Filter notifications by type: 'inbox' for comments/replies, 'activity' for events |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Queue

**Slug:** `TYPEFULLY_GET_QUEUE`

Get the scheduled content queue for a social set within a date range. Returns upcoming scheduled drafts organized by day with their scheduled times. Use this action when you need to view what content is scheduled for a specific date range for a particular social media account in Typefully.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_date` | string | Yes | End date for the queue range (YYYY-MM-DD format in the social set timezone) |
| `start_date` | string | Yes | Start date for the queue range (YYYY-MM-DD format in the social set timezone) |
| `social_set_id` | integer | Yes | ID of the social set (account) to get the queue for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Queue Schedule

**Slug:** `TYPEFULLY_GET_QUEUE_SCHEDULE`

Get the queue schedule configuration for a social set, including posting slots and timezone settings. Use this action when you need to retrieve the scheduling rules and timezone configuration for a social media account in Typefully.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `social_set_id` | integer | Yes | ID of the social set (account) to get the queue schedule for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Recently Published

**Slug:** `TYPEFULLY_GET_RECENTLY_PUBLISHED`

Get recently published drafts from Typefully.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Recently Scheduled Drafts

**Slug:** `TYPEFULLY_GET_RECENTLY_SCHEDULED`

Get recently scheduled drafts from Typefully.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content_filter` | string ("threads" | "tweets") | No | Filter to show only threads or tweets example 'threads', 'tweets' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Social Set

**Slug:** `TYPEFULLY_GET_SOCIAL_SET`

Get detailed information about a specific social set, including all connected platforms (X, LinkedIn, Mastodon, Threads, Bluesky) with account details and profile information. Use this action when you need to retrieve the details and platform connections for a specific social set by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `social_set_id` | integer | Yes | Unique identifier for the social set to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Initialize Media Upload

**Slug:** `TYPEFULLY_INITIALIZE_MEDIA_UPLOAD`

Initializes a media upload by returning a presigned URL. Use when you need to upload images, videos, GIFs, or PDFs to attach to draft posts. First call this action to get a `media_id` and `upload_url`. Then PUT your file content directly to the `upload_url`. Finally, use the `media_id` in your draft content to attach the media. This action is idempotent — calling it multiple times with the same parameters will return new (unused) presigned URLs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_name` | string | Yes | Original filename with extension (e.g., 'image.jpg', 'video.mp4', 'document.pdf'). Used for MIME type detection. Allowed extensions: .jpg, .jpeg, .png, .webp, .gif, .mp4, .mov, .pdf |
| `social_set_id` | integer | Yes | The ID of the social set (account) to upload media to. Must be a positive integer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drafts

**Slug:** `TYPEFULLY_LIST_DRAFTS`

List drafts for a social set with filtering and sorting options. Use this action when you need to retrieve drafts from a specific social set in Typefully. Supports filtering by status (draft, scheduled, published) and tags, and results are ordered by last edited date (most recent first) by default. Results are paginated with support for limit/offset-based pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | No | Filter drafts by tag |
| `limit` | integer | No | Maximum number of items to return per page |
| `offset` | integer | No | Number of items to skip from the beginning (for pagination) |
| `status` | string ("draft" | "scheduled" | "published") | No | Possible status values for drafts. |
| `order_by` | string ("-updated_at" | "updated_at" | "-created_at" | "created_at") | No | Sort order options for listing drafts. |
| `social_set_id` | integer | Yes | The ID of the social set to list drafts for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Social Sets

**Slug:** `TYPEFULLY_LIST_SOCIAL_SETS`

List all social sets (groups of connected platform accounts) accessible to the authenticated user. Returns paginated list of social sets with basic info including id, username, name, and profile image. Use this action when you need to retrieve social sets for a user or display available accounts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of items to return per page |
| `offset` | integer | No | Number of items to skip from the beginning (for pagination) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tags

**Slug:** `TYPEFULLY_LIST_TAGS`

List all tags for a social set. Tags help organize and categorize drafts. Use this action when you need to retrieve all tags associated with a specific social set to organize, filter, or categorize drafts within Typefully.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of tags to return per page |
| `offset` | integer | No | Number of tags to skip from the beginning (for pagination) |
| `social_set_id` | integer | Yes | The ID of the social set to list tags for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Notifications Read

**Slug:** `TYPEFULLY_MARK_NOTIFICATIONS_READ`

Mark notifications as read in Typefully. Can be filtered by kind and account_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `kind` | string ("inbox" | "activity") | No | Filter notifications to mark as read: 'inbox' for comments/replies, 'activity' for events |
| `account_id` | string | No | Specific account ID to mark notifications as read for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resolve LinkedIn Organization

**Slug:** `TYPEFULLY_RESOLVE_LINKED_IN_ORGANIZATION`

Resolve a LinkedIn organization from its public URL. Returns the organization URN needed for mentions in LinkedIn posts. Use this action when you need to get the LinkedIn organization identifier to include company or school mentions in posts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `social_set_id` | integer | Yes | The ID of the social set to use for resolving the organization |
| `organization_url` | string | Yes | Public LinkedIn organization URL (company or school profile) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Draft

**Slug:** `TYPEFULLY_UPDATE_DRAFT`

Update an existing draft with partial update semantics. Use this action when you need to modify specific fields of an existing draft. Only the fields you provide will be updated; omitted fields remain unchanged. This action supports updating: content/title, scheduling (publish_at), tags, scratchpad notes, sharing options, or platform configurations. Note: Cannot update drafts that have already been published.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | No | List of tag slugs (not names) associated with this draft. Use the /tags endpoint to get available tags with their slugs. Tags must already exist in the social set. Omit to keep unchanged. |
| `share` | boolean | No | Whether to generate a public share URL. Omit to keep unchanged. |
| `draft_id` | integer | Yes | The unique identifier of the draft to update |
| `platforms` | object | No | Platform configurations for updating a draft. Only provided platforms will be updated. |
| `publish_at` | string | No | When to publish the draft. Options: "now" to publish immediately, "next-free-slot" to schedule to your next available posting slot, or an ISO 8601 datetime string with timezone for a specific future time (e.g., "2025-01-20T14:00:00Z" for UTC or "2025-01-20T09:00:00-05:00" for EST). Timezone is required. Omit to keep unchanged. |
| `draft_title` | string | No | Human-readable title for the draft. This is for internal organization only and is not posted to social media. Omit to keep unchanged. |
| `social_set_id` | integer | Yes | The ID of the social set (account) that owns the draft |
| `scratchpad_text` | string | No | Plain text scratchpad notes for the draft. Formatting is stripped. Omit to keep unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Queue Schedule

**Slug:** `TYPEFULLY_UPDATE_QUEUE_SCHEDULE`

Replace the queue schedule configuration for a social set. Defines the posting slots for scheduled content. Use this action when you need to update or configure the posting schedule for a social account, such as changing the days and times when content should be published. This performs a full replacement of the schedule rules — existing rules will be overwritten with the new rules provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rules` | array | Yes | New schedule rules (full replacement). Each rule specifies posting time and applicable days |
| `social_set_id` | integer | Yes | ID of the social set (account) to update the schedule for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
