The createSlackPostMessageAction()
GraphQL mutation field may be used to create a post message Slack
action in LogScale.
For more information on creating a Slack action, see the
Action Type: Slack documentation page. You
may also want to look at the Actions
page for related information.
Below is the syntax for the
createSlackPostMessageAction() mutation
field:
createSlackPostMessageAction(
input : CreatePostMessageSlackAction!
) : SlackPostMessageAction!
Below is an example of how this mutation field might be used:
Show:
Raw Mac OS or Linux (curl) Mac OS or Linux (curl) One-line Windows Cmd and curl Windows Powershell and curl Perl Python Node.js
Raw mutation {
createSlackPostMessageAction( input :
{ viewName : "humio" ,
name : "my-slack-post-act" ,
apiToken : "AUamuZLYvOLGUeMablONDF37FbYIm7U" ,
channels : [ "#admin" ]
fields : [ { fieldName : "Events String" , value : "{events_str}" } ] ,
useProxy : false
} )
{ id }
}
Mac OS or Linux (curl) curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @- << EOF
{"query" : "mutation {
createSlackPostMessageAction( input:
{ viewName: \"humio\",
name: \"my-slack-post-act\",
apiToken: \"AUamuZLYvOLGUeMablONDF37FbYIm7U\",
channels: [\"#admin\"]
fields: [ {fieldName: \"Events String\", value: \"{events_str}\"} ],
useProxy: false
} )
{ id }
}"
}
EOF
Mac OS or Linux (curl) One-line curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @- << EOF
{"query" : "mutation {
createSlackPostMessageAction( input:
{ viewName: \"humio\",
name: \"my-slack-post-act\",
apiToken: \"AUamuZLYvOLGUeMablONDF37FbYIm7U\",
channels: [\"#admin\"]
fields: [ {fieldName: \"Events String\", value: \"{events_str}\"} ],
useProxy: false
} )
{ id }
}"
}
EOF
Windows Cmd and curl curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
-H "Authorization: Bearer $TOKEN" ^
-H "Content-Type: application/json" ^
-d @'{"query" : "mutation { ^
createSlackPostMessageAction( input: ^
{ viewName: \"humio\", ^
name: \"my-slack-post-act\", ^
apiToken: \"AUamuZLYvOLGUeMablONDF37FbYIm7U\", ^
channels: [\"#admin\"] ^
fields: [ {fieldName: \"Events String\", value: \"{events_str}\"} ], ^
useProxy: false ^
} ) ^
{ id } ^
}" ^
} '
Windows Powershell and curl curl.exe -X POST
-H "Authorization: Bearer $TOKEN "
-H "Content-Type: application/json"
-d '{"query" : "mutation {
createSlackPostMessageAction( input:
{ viewName: \"humio\",
name: \"my-slack-post-act\",
apiToken: \"AUamuZLYvOLGUeMablONDF37FbYIm7U\",
channels: [\"#admin\"]
fields: [ {fieldName: \"Events String\", value: \"{events_str}\"} ],
useProxy: false
} )
{ id }
}"
}'
"$YOUR_LOGSCALE_URL /graphql"
Perl
use HTTP::Request;
use LWP;
my $INGEST_TOKEN = "TOKEN" ;
my $uri = '$YOUR_LOGSCALE_URL/graphql' ;
my $json = '{"query" : "mutation {
createSlackPostMessageAction( input:
{ viewName: \"humio\",
name: \"my-slack-post-act\",
apiToken: \"AUamuZLYvOLGUeMablONDF37FbYIm7U\",
channels: [\"#admin\"]
fields: [ {fieldName: \"Events String\", value: \"{events_str}\"} ],
useProxy: false
} )
{ id }
}"
}' ;
my $req = HTTP::Request->new("POST" , $uri );
$req->header("Authorization" => "Bearer $TOKEN" );
$req->header("Content-Type" => "application/json" );
$req->content( $json );
my $lwp = LWP::UserAgent->new;
my $result = $lwp->request( $req );
print $result->{"_content" },"\n" ;
Python
import requests
url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
createSlackPostMessageAction( input:
{ viewName: \"humio\",
name: \"my-slack-post-act\",
apiToken: \"AUamuZLYvOLGUeMablONDF37FbYIm7U\",
channels: [\"#admin\"]
fields: [ {fieldName: \"Events String\", value: \"{events_str}\"} ],
useProxy: false
} )
{ id }
}"
}'''
resp = requests.post(url,
data = mydata,
headers = {
"Authorization" : "Bearer $TOKEN" ,
"Content-Type" : "application/json"
}
)
print (resp.text)
Node.js const https = require ('https' );
const data = JSON .stringify (
{"query" : "mutation {
createSlackPostMessageAction( input:
{ viewName: \"humio\",
name: \"my-slack-post-act\",
apiToken: \"AUamuZLYvOLGUeMablONDF37FbYIm7U\",
channels: [\"#admin\"]
fields: [ {fieldName: \"Events String\", value: \"{events_str}\"} ],
useProxy: false
} )
{ id }
}"
}
);
const options = {
hostname : '$YOUR_LOGSCALE_URL/graphql' ,
path : '/graphql' ,
port : 443 ,
method : 'POST' ,
headers : {
'Content-Type' : 'application/json' ,
'Content-Length' : data.length ,
Authorization : 'BEARER ' + process.env .TOKEN ,
'User-Agent' : 'Node' ,
},
};
const req = https.request (options, (res ) => {
let data = '' ;
console .log (`statusCode: ${res.statusCode} ` );
res.on ('data' , (d ) => {
data += d;
});
res.on ('end' , () => {
console .log (JSON .parse (data).data );
});
});
req.on ('error' , (error ) => {
console .error (error);
});
req.write (data);
req.end ();
Example Responses Show:
Success (HTTP Response Code 200 OK)
Success (HTTP Response Code 200 OK) {
"data" : {
"createSlackPostMessageAction" : {
"id" : "z6HrAfznuPHFOKVSVg4J9a4qsg9oIsoq"
}
}
}
For
CreatePostMessageSlackAction
,
there are a few parameters. Below is a list of them along with
descriptions of each:
Table: CreatePostMessageSlackAction
Parameter Type Required Default Stability Description Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column. Table last updated: Sep 17, 2024 apiToken
string yes API token to authenticate with Slack. channels
[string] yes List of Slack channels to message. fields
[SlackFieldEntryInput
] yes Fields to include within the Slack message. Can be templated with values from the result. See SlackFieldEntryInput
. name
string yes Name of the action. useProxy
boolean yes Defines whether the action should use the configured proxy to make web requests. viewName
string yes Name of the view of the action.
SlackPostMessageAction
has several parameters. Below is a list of them:
Table: SlackPostMessageAction
Parameter Type Required Default Stability Description Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column. Table last updated: Mar 27, 2025 allowedActions
[AssetAction
] yes Preview
A list of allowed asset actions. See AssetAction
. This is a preview and subject to change. apiToken
string yes Long-Term
An API token to authenticate with Slack. channels
[string] yes Long-Term
A list of Slack channels to message. displayName
string yes Long-Term
The display name of the action. fields
[SlackFieldEntry
] yes Long-Term
The fields to include within the Slack message. Can be templated with values from the result See SlackFieldEntry
. id
string yes Long-Term
The unique identifier of the action. isAllowedToRun
boolean yes Long-Term
False if this type of action is disabled because of a security policy, true otherwise. name
string yes Long-Term
The name of the action. package
PackageInstallation
yes Long-Term
The package, if any, of which the action is part (see PackageInstallation
Table). packageId
VersionedPackageSpecifier
yes Long-Term
The unique identifier of the package. VersionedPackageSpecifier
is a scalar. requiresOrganizationOwnedQueriesPermissionToEdit
boolean yes Long-Term
True if this action is used by triggers, where the query is run by the organization. If true, then the OrganizationOwnedQueries
permission is required to edit the action. resource
string yes Short-Term
The resource identifier for the action. useProxy
boolean yes Long-Term
Whether the action should use the configured proxy to make web requests. yamlTemplate
yaml
yes Long-Term
A template that can be used to recreate the action.