Integration
Connect Handwrytten to Discord
When something happens in Handwrytten, your agent does the next thing in Discord. Describe it in plain language and the automation is built, tested on every branch and kept running.
Build it
What do you want Handwrytten and Discord to do together?
Describe it and your agent reads both APIs, builds the automation, tests every branch and ships it. The list below is what exists today, not the limit.
Ask the assistant
You'll sign in before anything runs. What you typed comes with you.
Or work from Claude Code
Install the APIANT plugin for Claude Code and build, edit, test and read run history from your terminal. Every plan gets this, including free, and it spends no assistant credits.
Connect Claude CodeEverything your agent can do with Handwrytten and Discord
Triggers and actions 8 triggers ยท 29 actions
Trigger
Address ListTriggers when Recipient Addresses are needed.
Action
Add Order to BasketAdds an order to a basket. If sending multiple cards at once, use this for each order, then check-out with Send Basket
Action
Create ContactCreates a new address book entry for the Handwrytten address book. (Note: other zaps don't really use the address book, but the rest of Handwrytten does.).
Action
Create Custom CardCreates a new custom 5x7 card with full bleed cover, using specified images, fonts, and logos.
Action
Empty BasketClears your basket.
Action
Find ContactFinds a contact in your address book.
Action
Update ContactUpdates an entry in the Handwrytten address book.
Action
Upload Custom ImageAdds an image to Handwrytten for use in custom card designs.
Trigger
New Forum MessageTriggers when a new Message is created on a Forum Post.
Trigger
New Forum PostTriggers when a new Post is created on a Forum.
Trigger
New MentionTriggers when a User or Role is mentioned.
Trigger
New Message Posted to ChannelTriggers when a new message is posted to a specific text channel.
Trigger
New Reaction on MessageTriggers when a new Reaction is added to a Message.
Trigger
New User AddedTriggers when a new user joins the Discord Server.
Trigger
Role Assigned to UserTriggers when a role is assigned to a user.
Action
Add Reaction to MessageReact to a message in a channel with an emoji. Writer sibling for the New Reaction on Message trigger (PUT /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me).
Action
Add Roleassign a role to a user
Action
Create ChannelCreate a new channel in a server (POST /guilds/{guild_id}/channels).
Action
Create new Forum PostCreate a new Post on a Forum Channel.
Action
Create RoleCreate a new role in a server (POST /guilds/{guild_id}/roles).
Action
Delete ChannelDelete or close a channel (DELETE /channels/{channel_id}).
Action
Delete MessageDelete a message from a channel (DELETE /channels/{channel_id}/messages/{message_id}).
Action
Find ChannelFind an existing channel by name.
Action
Find UserFind an existing user by name.
Action
Get MessageRetrieve a specific message from a channel by id (GET /channels/{channel_id}/messages/{message_id}).
Action
Get Server MemberGet one member of a Discord server, including the roles they currently hold.
Action
List Active ThreadsList the threads and forum posts currently active in a Discord server.
Action
List MessagesList the most recent messages in a Discord channel, newest first.
Action
List ReactionsList the people who reacted to a message with a given emoji.
Action
List RolesList every role defined in a Discord server, so you can pick the Role ID an operation needs.
Action
List ServersList the Discord servers (guilds) the APIANT bot has been added to. Use it to get the Server ID every other Discord operation asks for.
Action
Remove User RoleRemove a chosen role from the specified user.
Action
Rename ChannelRename a channel to a specific name you choose.
Action
Send Channel MessagePost a new message to a specific #channel you choose.
Action
Send Direct MessageSend a direct message to a specific user.
Action
Send message in Forum PostSend a new message in a specific Forum Post.
Action
Update MessageEdit the content of a previously sent message (PATCH /channels/{channel_id}/messages/{message_id}).
No trigger or action matches that. Ask your agent to add it: it reads the API documentation and builds what you describe.