JavaScript
import Hyperspell from '@hyperspell/hyperspell';
const client = new Hyperspell({
apiKey: process.env['HYPERSPELL_API_KEY'], // This is the default and can be omitted
});
const response = await client.actions.addReaction({
channel: 'channel',
name: 'name',
provider: 'reddit',
timestamp: 'timestamp',
});
console.log(response.provider_response);import os
from hyperspell import Hyperspell
client = Hyperspell(
api_key=os.environ.get("HYPERSPELL_API_KEY"), # This is the default and can be omitted
)
response = client.actions.add_reaction(
channel="channel",
name="name",
provider="reddit",
timestamp="timestamp",
)
print(response.provider_response)package main
import (
"context"
"fmt"
"github.com/hyperspell/hyperspell-go"
"github.com/hyperspell/hyperspell-go/option"
)
func main() {
client := hyperspell.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.Actions.AddReaction(context.TODO(), hyperspell.ActionAddReactionParams{
Channel: "channel",
Name: "name",
Provider: hyperspell.ActionAddReactionParamsProviderReddit,
Timestamp: "timestamp",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.ProviderResponse)
}
hyperspell actions add-reaction \
--api-key 'My API Key' \
--channel channel \
--name name \
--provider reddit \
--timestamp timestampcurl --request POST \
--url https://api.hyperspell.com/actions/add_reaction \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel": "<string>",
"timestamp": "<string>",
"name": "<string>",
"connection": "<string>"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hyperspell.com/actions/add_reaction",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'channel' => '<string>',
'timestamp' => '<string>',
'name' => '<string>',
'connection' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.hyperspell.com/actions/add_reaction")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"name\": \"<string>\",\n \"connection\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hyperspell.com/actions/add_reaction")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"name\": \"<string>\",\n \"connection\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"error": "<string>",
"provider_response": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Actions
Add a reaction
Add an emoji reaction to a message on a connected integration.
POST
/
actions
/
add_reaction
JavaScript
import Hyperspell from '@hyperspell/hyperspell';
const client = new Hyperspell({
apiKey: process.env['HYPERSPELL_API_KEY'], // This is the default and can be omitted
});
const response = await client.actions.addReaction({
channel: 'channel',
name: 'name',
provider: 'reddit',
timestamp: 'timestamp',
});
console.log(response.provider_response);import os
from hyperspell import Hyperspell
client = Hyperspell(
api_key=os.environ.get("HYPERSPELL_API_KEY"), # This is the default and can be omitted
)
response = client.actions.add_reaction(
channel="channel",
name="name",
provider="reddit",
timestamp="timestamp",
)
print(response.provider_response)package main
import (
"context"
"fmt"
"github.com/hyperspell/hyperspell-go"
"github.com/hyperspell/hyperspell-go/option"
)
func main() {
client := hyperspell.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.Actions.AddReaction(context.TODO(), hyperspell.ActionAddReactionParams{
Channel: "channel",
Name: "name",
Provider: hyperspell.ActionAddReactionParamsProviderReddit,
Timestamp: "timestamp",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.ProviderResponse)
}
hyperspell actions add-reaction \
--api-key 'My API Key' \
--channel channel \
--name name \
--provider reddit \
--timestamp timestampcurl --request POST \
--url https://api.hyperspell.com/actions/add_reaction \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel": "<string>",
"timestamp": "<string>",
"name": "<string>",
"connection": "<string>"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hyperspell.com/actions/add_reaction",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'channel' => '<string>',
'timestamp' => '<string>',
'name' => '<string>',
'connection' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.hyperspell.com/actions/add_reaction")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"name\": \"<string>\",\n \"connection\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hyperspell.com/actions/add_reaction")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"name\": \"<string>\",\n \"connection\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"error": "<string>",
"provider_response": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
APIKeyAsUser
API Key or JWT User Token. If using an API Key, set the X-As-User header to act as a specific user. A JWT User Token is always scoped to a specific user.
Body
application/json
Add an emoji reaction to a message.
Integration provider (e.g., slack)
Available options:
reddit, notion, slack, google_calendar, google_mail, google_meet, box, dropbox, github, gitlab, google_drive, vault, web_crawler, trace, microsoft_teams, granola, fathom, fireflies, linear, hubspot, salesforce, coda, confluence, jira, lightfield, gong, pylon, clickup Channel ID containing the message
Message timestamp to react to
Emoji name without colons (e.g., thumbsup)
Connection ID. If omitted, auto-resolved from provider + user.
Was this page helpful?
⌘I