Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to send Javascript Object as readable JSON in Slack API?

I am trying to send a formatted JS object on Slack using the API.

Best I could do was sending to chat.postMessage as:

const testObj = {a: "Hello", b: "World"};

...
data: {
  channel: "#my-channel"
  text: JSON.stringify(testObj, null, "\t")
}

But it's still not formatted well and can't be minimized like JSON file on Slack.

How can I send it better formatted or as a JSON file?

like image 848
eliezra236 Avatar asked Sep 01 '25 01:09

eliezra236


1 Answers

I would recommend you to use the Text Snippet feature via files.upload method, so you can format the content type properly, in this case javascript.

Send Slack Text Snippet                                                                                 Run in Fusebit
const testObj = {a: "Hello", b: "World"};
const result = await slackClient.files.upload({
      channels: slackUserId,
      content: testObj,
      title: 'Sample',
      filetype: 'javascript'
});
const {name, pretty_type} = result.file;
ctx.body = { message: `Successfully sent a text snippet of type ${pretty_type} called ${name} to Slack user ${slackUserId}!` };

like image 92
Ruben Restrepo Avatar answered Sep 02 '25 16:09

Ruben Restrepo