Wardrik.Channel.Installation (wardrik_protocol v0.1.0-rc.1)

Copy Markdown

A channel added to one workspace, such as a Slack app added to one Slack workspace.

%Wardrik.Channel.Installation{
  channel: "slack",
  workspace: "T0123",
  name: "Acme",
  owner: "acme",
  token: "xoxb-...",
  approvers: ["@maria"]
}

Fields

  • :channel - the channel's name, as "slack".
  • :workspace - the workspace's ID in the chat app.
  • :owner - whose agents answer there: an org, as "acme", or a person, as "acme/@jon".
  • :token - the chat app's token for the workspace. Hidden from inspect/2.
  • :name - the workspace's name in the chat app, if it gave one.
  • :approvers - who may decide the calls those agents wait on, named as the chat app names people, or :anyone. With [], the person who started the turn decides.

Summary

Functions

Returns the resource pattern for the owner's agents, as acme/agent/*.

Types

t()

@type t() :: %Wardrik.Channel.Installation{
  approvers: [String.t()] | :anyone,
  channel: String.t(),
  name: String.t() | nil,
  owner: String.t(),
  token: String.t(),
  workspace: String.t()
}

Functions

agents(installation)

@spec agents(t()) :: String.t()

Returns the resource pattern for the owner's agents, as acme/agent/*.