Outcomes
The result of an Action being executed
An
Outcome
represents the result of having executed an Action
. Its general structure is as follows:type Outcome {
UUID: UUID!
match: Match!
createdAt: Timestamp!
response: Response!
payload: Payload!
}
whereas the exact content of the
Response
and Payload
types depends on the kind of Action
that was executed. The
Payload
type contains information about the exact payload that HAL used to execute the action, and can be thought of as the "input" part of executing an Action
. The payload type for the
Email
action is shared between TransactionsTriggers, ContractsTriggers and EventsTriggers: type MailPayload {
body: String!
subject: String!
to: [Email!]!
}
where the
body
and subject
fields contain the actual text that was sent via email, after the template has been applied.The payload type for the
Webhook
action, on the other hand, has a different type for each possible Trigger. So far the following are supported:TransactionsTriggerWebhookPayload
:type TransactionsTriggerWebhookPayload {
decoded: Decoded
block: Block!
transaction: Transaction!
}
the
Decoded
field contains the decoded input data used for the specific transaction that matched. You can read more about it under the Matches page of this documentation.ContractsTriggerWebhookPayload
type ContractsTriggerWebhookPayload {
contract: Contract!
method: Method!
returnedValues: ReturnedValues!
block: Block!
}
Again, you can read more about the different types here under the Matches page of this documentation.
EventsTriggerWebhookPaylaod
:type EventsTriggerWebhookPayload {
decoded: Decoded
log: Log!
block: Block!
transaction: Transaction!
}
The payload for the
Slack
Action is very simple and it consists of a body
field only: type SlackPayload {
body: String!
}
The payload for the
Telegram
Actions is:type TelegramPayload {
body: String!
chatid: String!
format: String!
}
The payload for the
Twitter
Action is:type TwitterPayload {
status: String!
}
The payload for the
Discord
Action is:type DiscordPayload {
body: String!
}
The supported responses are
MailResponse
(for the Email
action) and WebhookResponse
for all the other supported actions.MailResponse
contains an ID for the email message, if sent correctly, or an error otherwise:type MailResponse {
messageId: String!
}
The
WebhookResponse
is straightforward:type WebhookResponse {
httpCode: Int!
body: String
}
Last modified 3yr ago