Hashnode

Learn how to use Hashnode with Composio

Overview

SLUG: HASHNODE

Description

Hashnode is a blogging platform tailored for developers, offering tools to create, manage, and publish content seamlessly.

Authentication Details

generic_api_key
stringRequired

Connecting to Hashnode

Create an auth config

Use the dashboard to create an auth config for the Hashnode toolkit. This allows you to connect multiple Hashnode accounts to Composio for agents to use.

1

Select App

Navigate to Hashnode.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Hashnode Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4hashnode_auth_config_id = "ac_YOUR_HASHNODE_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Hashnode for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, hashnode_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Hashnode toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["HASHNODE"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Hashnode Accept Publication Invite

Description

Tool to accept a publication invitation. Use when you have a valid invite token and want to join the publication.

Action Parameters

inviteToken
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode Add Reply

Description

Tool to add a reply to an existing comment. Use after confirming comment ID and reply content.

Action Parameters

commentId
stringRequired
contentMarkdown
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode: Check Custom Domain Availability

Description

Tool to check if a custom domain is available for your Hashnode publication. Use when verifying domain mapping before setup.

Action Parameters

domain
stringRequired
with_www_redirect
booleanRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode: Fetch Invitations

Description

Tool to fetch pending publication invitations. Use when you need to list current pending invites for a team-managed publication before taking further actions.

Action Parameters

host
string
id
string
page
integerDefaults to 1
pageSize
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Fetch Publication Posts

Description

Tool to fetch a paginated list of posts from a publication. Use when you need to list posts page by page for a given publication host.

Action Parameters

after
string
first
integerDefaults to 10
host
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Fetch Series Posts

Description

Tool to fetch posts from a series within a publication. Use when retrieving and paginating through series posts in a specific publication.

Action Parameters

after
string
first
integerRequired
publication_host
string
publication_id
string
series_slug
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Fetch Single Article

Description

Tool to fetch a single article by slug from a publication. Use when you need the detailed content of a specific post.

Action Parameters

host
stringRequired
slug
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode: Fetch User Details

Description

Tool to fetch detailed user profile information by username. Use when you need public or authorized profile data.

Action Parameters

username
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Publication by Hostname

Description

Tool to fetch details (id, title, about) of a publication by hostname. Use when you need metadata for a given publication host. Example: 'blog.developerdao.com'.

Action Parameters

hostname
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode Add Comment

Description

Tool to add a comment to a Hashnode post. Use after obtaining story ID and content, optionally provide a parent comment ID for replies.

Action Parameters

contentHTML
string
contentMarkdown
string
postId
stringRequired
replyToCommentId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Fetch Stories Feed

Description

Tool to fetch a paginated home feed of stories. Use when you need to page through the feed with optional filters.

Action Parameters

after
string
filter
object
first
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode: Get Current User

Description

Tool to retrieve details of the currently authenticated user. Use after confirming authentication.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode: Like Reply

Description

Tool to like a reply on Hashnode. Use when you have a reply ID and want to add a like to that reply.

Action Parameters

commentId
stringRequired
replyId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode: List Publications

Description

Tool to list all publications of the authenticated user. Use when you need your publication hostnames for downstream actions.

Action Parameters

after
string
first
integerDefaults to 10
roles
array
sortBy
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode Remove Reply

Description

Tool to remove a reply from a comment. Use after confirming comment and reply IDs. Returns the removed reply details.

Action Parameters

commentId
stringRequired
replyId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode Update Comment

Description

Tool to update an existing comment on a Hashnode post. Use after preparing updated content details.

Action Parameters

contentHTML
string
contentMarkdown
string
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Hashnode Update Reply

Description

Tool to update a reply. Use when editing an existing reply to a comment after confirming the comment and reply IDs.

Action Parameters

commentId
stringRequired
contentMarkdown
stringRequired
replyId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired