App Logo

Official scripts

Explore our curated collection of scripts

discord.com

List Discord servers

Lists the Discord servers the logged-in account has access to (name + guildId), read from the server sidebar. Requires being logged in.

discord.com

create_forum_post

Create a post (thread) in a Discord forum channel, with a title and an opening message. Forum channels reject plain messages — a post is the only way to write to one, which is why discord.com/post_message cannot target a forum. Returns the new post's threadId, name, url, parentId and the opening message id, read from Discord's own creation response. Reply to an existing post with discord.com/post_message against the post's own url (a post is itself a channel), and list a forum's posts with discord.com/list_forum_posts.

discord.com

reply_to_message

Reply to a specific Discord message, addressed by its own url. Unlike discord.com/post_message, this creates a proper reply — visible as a reference to the original message rather than a plain new post in the channel. Returns the new message's id, channel id, timestamp and content, plus the id of the message it replied to.

discord.com

Find Discord member ID by name

Resolves a Discord member's userId from their name, through a channel's mention autocomplete (@name). Useful to build a <@id> ping. Requires being logged in.

discord.com

Read Discord messages

Reads the most recent messages of a Discord channel (author, timestamp, text), newest first, scrolling up to load more until the requested count. Requires being logged in. Also reads a THREAD or a FORUM POST: both are channels in their own right, so pass the post's url (from discord.com/list_forum_posts) and you get its replies plus the opening post, newest first — there is no separate thread-reading script. It does NOT accept a forum channel itself, which lists posts rather than messages: use discord.com/list_forum_posts for that.

discord.com

Delete Discord message

Deletes a single Discord message by id (e.g. to clean up a message you sent). Requires being logged in as the message's author or having Manage Messages in the channel.

discord.com

List Discord channels

Lists a Discord server's channels and categories from its sidebar (name, channelId, category, channel URL). Takes a guildId. Requires being logged in.

discord.com

Discord login

Opens the Discord web app in the browser and reports whether the account is signed in, together with the username and display name it is signed in as. Run this first: the other Discord scripts need the web app open on a signed-in session.

discord.com

Post a Discord message

Posts a text message in a Discord channel, addressed by channel URL. Requires being logged in to Discord. Returns `sent` plus the created message's messageId, channelId, timestamp and content as Discord stored it. This is a write: the message appears in the channel and is visible to everyone who can see it. Discord's own message limits are checked before anything is sent, so a message that is empty or whitespace-only, or longer than 2000 characters, is refused straight away with a clear reason.

discord.com

edit_message

Edit the text of one of your own Discord messages, addressed by its url. Discord marks an edited message with an "(edited)" tag visible to everyone. Returns the message's id, channel id, the new content as Discord stored it, and the edit timestamp. Only your own messages can be edited — Discord's UI offers no edit control on anyone else's.

discord.com

create_channel

Create a channel in a Discord server — text, voice, announcement, stage or forum — optionally inside a category. Requires the Manage Channels permission in that server. Returns the created channel's channelId, name, type, url, parentId and the guildId, read from Discord's own creation response rather than the sidebar, plus already_present when a channel of that name and type already exists in the target category (it is reported, not duplicated — Discord itself allows duplicate channel names). Note Discord lowercases and hyphenates text/forum channel names, so the returned name may differ from the one you passed.

discord.com

add_reaction

React to a Discord message with a unicode emoji, or remove your own reaction with remove:true. Takes the message's own url, as copied from Discord or returned by discord.com/read_messages. Returns the emoji, the message and channel ids, whether your reaction was already there before this ran, and the reaction's count afterwards. Reactions are visible to everyone who can see the channel. Supports a small set of common emoji rather than any glyph, since Discord's picker only accepts an emoji name to search, not a pasted character. Does not work on a forum post's own opening message, whose context menu is shaped differently from a regular message's — react to a reply in the post instead.

discord.com

send_dm

Send a direct message to a Discord user, addressed by their username. Opens (or reuses) the one-to-one DM conversation and posts the message there. Returns sent, the created message's messageId, the DM channelId, timestamp, and the content as Discord stored it, plus the recipient's resolved handle so the message is provably not sent to a near-name match. This is a write and the recipient is notified: confirm the exact recipient and text with the user before running, and note that approval for one message does not carry over to another.

discord.com

list_forum_posts

List the posts (threads) in a Discord forum channel, newest first. Forum channels hold posts rather than a flat message history, which is why discord.com/read_messages refuses them — use this instead, then pass a returned post's url to read_messages to read its replies (a post is itself a channel). Returns per post: threadId, name, url, createdAt (derived from the thread's snowflake, so exact and locale-independent), authorName, messageCount (Discord's reply count, which excludes the opening post), openingMessage and tagNames. Reads the rendered forum grid, because active forum posts are synced over Discord's gateway and never appear in a REST response; that grid exposes no user ids, tag ids, or archived/locked/pinned state, so those are deliberately not returned.

discord.com

get_member_list

List the members shown in a Discord server's member sidebar for a given channel. Returns per member their userId, display name without the role badges the row also renders, and whether Discord marks them as an app. userId is null for a member on a default avatar, which carries no id to read. Discord only sends the sidebar the members near the scroll position, so a large server returns those rendered while scrolling rather than a guaranteed roster; complete says which happened, and offline members are omitted where Discord collapses them. The sidebar's role grouping is not returned, as the headings expose no stable handle.

discord.com

search_messages

Search a Discord server's message history, newest first, using Discord's own search. The query accepts Discord's search syntax (plain words, or filters like from:, in:, has:, before:, during:), so scoping to a channel or author is done in the query itself. Returns per hit: messageId, channelId, url, author (id, handle, name), content, timestamp, plus total_results as Discord reports it and complete, which is false when more hits exist beyond the page read. Discord returns search hits with surrounding context messages; only the hits themselves are returned.

ats-tools

Detect company's ATS (Greenhouse/Lever/Ashby)

Given a company's careers page URL, detect whether it's backed by Greenhouse, Lever, or Ashby and extract the board slug usable with greenhouse.io/get_company_jobs, lever.co/get_company_jobs, or ashbyhq.com/get_company_jobs. Detection combines two signals: network requests fired by the page (Greenhouse/Lever client-side API calls, seen e.g. on discord.com/careers) and embedded links to the ATS's own hosted board (seen e.g. on notion.com/careers linking jobs.ashbyhq.com/notion). Many companies fully proxy their ATS server-side with no client-visible signal (e.g. careers.airbnb.com, retool.com/careers) - for those this returns platform: null, which is a legitimate outcome, not a failure. Point this at the company's own marketing careers page, not at a guessed ATS URL: several large companies (e.g. Airbnb, Coinbase) configure their native Greenhouse board (boards.greenhouse.io/<slug>) to redirect to their custom-branded career site, which then also yields platform: null.

slack.com

Send Slack message

Post a message to a channel or DM, identified by name ('social', '#social'), channel/DM id (C…/D…), or a user (@handle or U…) for a direct message. Pass threadTs to reply inside a thread (with broadcast to also send it to the channel). Returns the new message ts, channel id and permalink. Requires login.

slack.com

Get Slack message permalink

Get the shareable permalink URL for a message by channel (name or id) and message ts. Requires login.

slack.com

Open Slack DM

Open (or fetch) a direct message with one user, or a group DM with several, given as @handles or user ids (U…). Returns the conversation id you can then post to. Requires login.

reddit.com

Join subreddit

Join (subscribe to) a subreddit by name. If you're already a member, nothing changes and changed is returned as false. Runs only via the browser extension, not the hosted cloud browser.

linkedin.com

Get LinkedIn conversation attendees

List the participants of a classic LinkedIn messaging conversation (NOT Sales Navigator) by thread URL from list_inbox — mainly useful for group chats. Returns each attendee's name, profile URL and member urn, plus whether the thread is a group.

substack.com

Subscribe to Substack publication

Subscribe the logged-in account to a Substack publication's free tier.

slack.com

Join Slack channel

Join a public channel (by name or id). Returns the channel id and name. Requires login.

slack.com

Add Slack reaction

Add an emoji reaction to a message by channel (name or id) and message ts. Emoji name without colons (e.g. 'thumbsup'). Requires login.