slackline/api/admin/analytics

This module is generated by gleam run -m slackline_codegen/generate. Do not edit it by hand.

Admin analytics: Enterprise member and public channel analytics, and message activity.

Types

An external organization a channel is shared with.

pub type AnalyticsExternalOrganization {
  AnalyticsExternalOrganization(
    name: option.Option(String),
    domain: option.Option(String),
  )
}

Constructors

Which analytics file to fetch.

pub type AnalyticsFileType {
  Member
  PublicChannel
}

Constructors

  • Member

    member

  • PublicChannel

    public_channel

A workspace referenced by public channel analytics.

pub type AnalyticsTeam {
  AnalyticsTeam(
    team_id: option.Option(String),
    name: option.Option(String),
  )
}

Constructors

Identifies admin.analytics.getFile in the slackline.Call that get_file returns.

pub type GetFile

One line of a decompressed member analytics file from admin.analytics.getFile.

pub type MemberAnalytics {
  MemberAnalytics(
    date: option.Option(String),
    enterprise_id: option.Option(String),
    user_id: option.Option(String),
    email_address: option.Option(String),
    enterprise_employee_number: option.Option(String),
    is_guest: option.Option(Bool),
    is_billable_seat: option.Option(Bool),
    is_active: option.Option(Bool),
    is_active_ios: option.Option(Bool),
    is_active_android: option.Option(Bool),
    is_active_desktop: option.Option(Bool),
    reactions_added_count: option.Option(Int),
    messages_posted_count: option.Option(Int),
    channel_messages_posted_count: option.Option(Int),
    files_added_count: option.Option(Int),
    is_active_apps: option.Option(Bool),
    is_active_workflows: option.Option(Bool),
    is_active_slack_connect: option.Option(Bool),
    total_calls_count: option.Option(Int),
    slack_calls_count: option.Option(Int),
    slack_huddles_count: option.Option(Int),
    search_count: option.Option(Int),
    date_claimed: option.Option(Int),
  )
}

Constructors

  • MemberAnalytics(
      date: option.Option(String),
      enterprise_id: option.Option(String),
      user_id: option.Option(String),
      email_address: option.Option(String),
      enterprise_employee_number: option.Option(String),
      is_guest: option.Option(Bool),
      is_billable_seat: option.Option(Bool),
      is_active: option.Option(Bool),
      is_active_ios: option.Option(Bool),
      is_active_android: option.Option(Bool),
      is_active_desktop: option.Option(Bool),
      reactions_added_count: option.Option(Int),
      messages_posted_count: option.Option(Int),
      channel_messages_posted_count: option.Option(Int),
      files_added_count: option.Option(Int),
      is_active_apps: option.Option(Bool),
      is_active_workflows: option.Option(Bool),
      is_active_slack_connect: option.Option(Bool),
      total_calls_count: option.Option(Int),
      slack_calls_count: option.Option(Int),
      slack_huddles_count: option.Option(Int),
      search_count: option.Option(Int),
      date_claimed: option.Option(Int),
    )

    Arguments

    date

    The date this row of data is representative of.

    enterprise_id

    Unique ID of the involved Enterprise organization.

    user_id

    The canonical, organization-wide user ID this row concerns.

    email_address

    The email address of record for the same user.

    enterprise_employee_number

    Taken from data that a SCIM API custom attribute syncs.

    is_guest

    User is classified as a guest on the date in the request.

    is_billable_seat

    User is a billable monthly active user. Only accurate for invoiced customers.

    is_active

    User posted a message or read at least one channel or DM on the date.

    is_active_ios

    Active in the Slack iOS app.

    is_active_android

    Active in the Slack Android app.

    is_active_desktop

    Active in the Slack desktop app.

    reactions_added_count

    Total reactions added by the user on the date. Not de-duplicated by message.

    messages_posted_count

    Total messages posted by the user on the date, in all conversation types.

    channel_messages_posted_count

    Messages posted in public and private channels, not including DMs.

    files_added_count

    Total files uploaded by the user on the date.

    is_active_apps

    The member interacted with a Slack app or custom integration on the date.

    is_active_workflows

    The member interacted with at least one workflow on the date.

    is_active_slack_connect

    The member read or posted in a conversation shared with an external workspace.

    total_calls_count

    Total calls made or joined on the date, including huddles and third-party calls.

    slack_calls_count

    Slack calls made or joined on the date.

    slack_huddles_count

    Slack huddles made or joined on the date.

    search_count

    Searches the user performed on the date.

    date_claimed

    When the member first signed in to any workspace in the org (Unix time).

Activity metrics for one message.

pub type MessageActivity {
  MessageActivity(
    channel_id: option.Option(String),
    timestamp: option.Option(String),
    unique_user_reactions_count: option.Option(Int),
    unique_user_shares_count: option.Option(Int),
    unique_user_views_count: option.Option(Int),
    unique_user_clicks_count: option.Option(Int),
    unique_views_client: option.Option(MessageViewsByClient),
    unique_stats_by_department: option.Option(
      List(MessageDepartmentStats),
    ),
    unique_stats_by_org: option.Option(List(MessageOrgStats)),
  )
}

Constructors

Unique engagement with a message from one department.

pub type MessageDepartmentStats {
  MessageDepartmentStats(
    department: option.Option(String),
    views: option.Option(Int),
    reactions: option.Option(Int),
    shares: option.Option(Int),
    clicks: option.Option(Int),
  )
}

Constructors

Message metadata from admin.analytics.messages.metadata.

pub type MessageMetadataEntry {
  MessageMetadataEntry(
    type_: option.Option(String),
    ts: String,
    user_id: option.Option(String),
    subtype: option.Option(String),
    thread_ts: option.Option(String),
    display_as_bot: option.Option(Bool),
    client_msg_id: option.Option(String),
    text_character_count: option.Option(Int),
    reactions: option.Option(List(MessageMetadataReaction)),
    files: option.Option(List(MessageMetadataFile)),
  )
}

Constructors

File metadata on a message from admin.analytics.messages.metadata.

pub type MessageMetadataFile {
  MessageMetadataFile(
    id: String,
    created: option.Option(Int),
    timestamp: option.Option(Int),
    mimetype: option.Option(String),
    filetype: option.Option(String),
    subtype: option.Option(String),
    pretty_type: option.Option(String),
    is_external: option.Option(Bool),
    external_type: option.Option(String),
    is_public: option.Option(Bool),
    public_url_shared: option.Option(Bool),
    display_as_bot: option.Option(Bool),
    duration_ms: option.Option(Int),
    media_display_type: option.Option(String),
  )
}

Constructors

A reaction count on a message from admin.analytics.messages.metadata.

pub type MessageMetadataReaction {
  MessageMetadataReaction(
    name: String,
    count: option.Option(Int),
  )
}

Constructors

  • MessageMetadataReaction(name: String, count: option.Option(Int))

    Arguments

    name

    Name of the reaction emoji.

    count

    Number of times this reaction was used.

Unique engagement with a message from one workspace.

pub type MessageOrgStats {
  MessageOrgStats(
    team_id: option.Option(String),
    views: option.Option(Int),
    reactions: option.Option(Int),
    shares: option.Option(Int),
    clicks: option.Option(Int),
  )
}

Constructors

Unique views of a message by client.

pub type MessageViewsByClient {
  MessageViewsByClient(
    desktop_views_count: option.Option(Int),
    mobile_views_count: option.Option(Int),
    web_views_count: option.Option(Int),
  )
}

Constructors

Identifies admin.analytics.messages.activity in the slackline.Call that messages_activity returns.

pub type MessagesActivity

A successful response from admin.analytics.messages.activity.

pub type MessagesActivityResponse {
  MessagesActivityResponse(
    message_activities: option.Option(List(MessageActivity)),
    response_metadata: option.Option(slackline.ResponseMetadata),
  )
}

Constructors

Identifies admin.analytics.messages.metadata in the slackline.Call that messages_metadata returns.

pub type MessagesMetadata

A successful response from admin.analytics.messages.metadata.

pub type MessagesMetadataResponse {
  MessagesMetadataResponse(
    messages: option.Option(List(MessageMetadataEntry)),
    response_metadata: option.Option(slackline.ResponseMetadata),
  )
}

Constructors

One line of a decompressed public_channel analytics file from admin.analytics.getFile.

pub type PublicChannelAnalytics {
  PublicChannelAnalytics(
    enterprise_id: option.Option(String),
    team_id: option.Option(String),
    originating_team: option.Option(AnalyticsTeam),
    channel_id: option.Option(String),
    channel_type: option.Option(String),
    visibility: option.Option(String),
    shared_with: option.Option(List(AnalyticsTeam)),
    is_shared_externally: option.Option(Bool),
    externally_shared_with_organizations: option.Option(
      List(AnalyticsExternalOrganization),
    ),
    date_created: option.Option(Int),
    date_last_active: option.Option(Int),
    total_members_count: option.Option(Int),
    full_members_count: option.Option(Int),
    guest_member_count: option.Option(Int),
    messages_posted_count: option.Option(Int),
    messages_posted_by_members_count: option.Option(Int),
    members_who_posted_count: option.Option(Int),
    members_who_viewed_count: option.Option(Int),
    reactions_added_count: option.Option(Int),
    date: option.Option(String),
  )
}

Constructors

  • PublicChannelAnalytics(
      enterprise_id: option.Option(String),
      team_id: option.Option(String),
      originating_team: option.Option(AnalyticsTeam),
      channel_id: option.Option(String),
      channel_type: option.Option(String),
      visibility: option.Option(String),
      shared_with: option.Option(List(AnalyticsTeam)),
      is_shared_externally: option.Option(Bool),
      externally_shared_with_organizations: option.Option(
        List(AnalyticsExternalOrganization),
      ),
      date_created: option.Option(Int),
      date_last_active: option.Option(Int),
      total_members_count: option.Option(Int),
      full_members_count: option.Option(Int),
      guest_member_count: option.Option(Int),
      messages_posted_count: option.Option(Int),
      messages_posted_by_members_count: option.Option(Int),
      members_who_posted_count: option.Option(Int),
      members_who_viewed_count: option.Option(Int),
      reactions_added_count: option.Option(Int),
      date: option.Option(String),
    )

    Arguments

    enterprise_id

    Unique ID of the Enterprise organization, "0" outside an Enterprise organization.

    team_id

    Unique ID of the team.

    originating_team

    The workspace that created this public channel.

    channel_id

    The channel this row concerns.

    channel_type

    single_workspace_channel, multi_workspace_channel or org_wide_channel.

    visibility

    public or private. Only public channel analytics are available.

    shared_with

    Workspaces in the same organization this channel is shared with.

    is_shared_externally

    Whether the channel is shared with workspaces outside this organization.

    externally_shared_with_organizations

    External organizations this channel is shared with.

    date_created

    When the channel was created (Unix time).

    date_last_active

    When the channel last had a message posted in it (Unix time).

    total_members_count

    Full members and guests.

    full_members_count

    People with a full member account.

    guest_member_count

    People with a guest account.

    messages_posted_count

    Messages posted on the day, including from apps and integrations.

    messages_posted_by_members_count

    Messages posted by human members and guests on the day.

    members_who_posted_count

    Unique human users who posted on the day.

    members_who_viewed_count

    Unique human users who read a message on the day.

    reactions_added_count

    Reactions left by human users on the day.

    date

    The day in question.

One line of a decompressed metadata_only public channel file from admin.analytics.getFile.

pub type PublicChannelMetadata {
  PublicChannelMetadata(
    channel_id: option.Option(String),
    name: option.Option(String),
    topic: option.Option(String),
    description: option.Option(String),
    date: option.Option(String),
  )
}

Constructors

  • PublicChannelMetadata(
      channel_id: option.Option(String),
      name: option.Option(String),
      topic: option.Option(String),
      description: option.Option(String),
      date: option.Option(String),
    )

    Arguments

    channel_id

    The channel’s unique identifier.

    name

    The latest name of the channel.

    topic

    The latest channel topic.

    description

    A longer description about the purpose of the channel.

    date

    The date these details are current as of.

Values

pub fn analytics_external_organization_decoder() -> decode.Decoder(
  AnalyticsExternalOrganization,
)

Decodes AnalyticsExternalOrganization from json.

pub fn analytics_external_organization_to_json(
  it: AnalyticsExternalOrganization,
) -> json.Json

Encodes AnalyticsExternalOrganization as json.

pub fn analytics_file_type_decoder() -> decode.Decoder(
  AnalyticsFileType,
)

Decodes AnalyticsFileType from a json string.

pub fn analytics_file_type_from_string(
  string: String,
) -> Result(AnalyticsFileType, Nil)

Parses AnalyticsFileType from its json string.

pub fn analytics_file_type_to_json(
  it: AnalyticsFileType,
) -> json.Json

Encodes AnalyticsFileType as a json string.

pub fn analytics_file_type_to_string(
  it: AnalyticsFileType,
) -> String

The json string of AnalyticsFileType.

pub fn analytics_team_decoder() -> decode.Decoder(AnalyticsTeam)

Decodes AnalyticsTeam from json.

pub fn analytics_team_to_json(it: AnalyticsTeam) -> json.Json

Encodes AnalyticsTeam as json.

pub fn decode_lines(
  text: String,
  row: decode.Decoder(a),
) -> Result(List(a), json.DecodeError)

Decodes a decompressed admin.analytics.getFile body, which holds one json object per line, using a row decoder such as member_analytics_decoder(). Blank lines are skipped.

pub fn get_file(
  type_ type_: AnalyticsFileType,
) -> slackline.Call(GetFile, value.Value)

admin.analytics.getFile: Retrieve analytics data for a given date, presented as a compressed JSON file

analytics.GetFile identifies this method in slackline.Call.

Set optional arguments with the functions in slackline/api/admin/analytics/get_file.

User token scopes: admin.analytics:read.

Rate limit tier: t2.

Documented errors: data_not_available, feature_not_available, feature_not_enabled, file_not_found, file_not_yet_available, invalid_date, invalid_type, member_analytics_disabled, metadata_not_available, metadata_only_does_not_support_date, not_an_admin, org_level_email_display_disabled, user_cannot_manage_public_channels.

pub fn member_analytics_decoder() -> decode.Decoder(
  MemberAnalytics,
)

Decodes MemberAnalytics from json.

pub fn member_analytics_to_json(it: MemberAnalytics) -> json.Json

Encodes MemberAnalytics as json.

pub fn message_activity_decoder() -> decode.Decoder(
  MessageActivity,
)

Decodes MessageActivity from json.

pub fn message_activity_to_json(it: MessageActivity) -> json.Json

Encodes MessageActivity as json.

pub fn message_department_stats_decoder() -> decode.Decoder(
  MessageDepartmentStats,
)

Decodes MessageDepartmentStats from json.

pub fn message_department_stats_to_json(
  it: MessageDepartmentStats,
) -> json.Json

Encodes MessageDepartmentStats as json.

pub fn message_metadata_entry_decoder() -> decode.Decoder(
  MessageMetadataEntry,
)

Decodes MessageMetadataEntry from json.

pub fn message_metadata_entry_to_json(
  it: MessageMetadataEntry,
) -> json.Json

Encodes MessageMetadataEntry as json.

pub fn message_metadata_file_decoder() -> decode.Decoder(
  MessageMetadataFile,
)

Decodes MessageMetadataFile from json.

pub fn message_metadata_file_to_json(
  it: MessageMetadataFile,
) -> json.Json

Encodes MessageMetadataFile as json.

pub fn message_metadata_reaction_decoder() -> decode.Decoder(
  MessageMetadataReaction,
)

Decodes MessageMetadataReaction from json.

pub fn message_metadata_reaction_to_json(
  it: MessageMetadataReaction,
) -> json.Json

Encodes MessageMetadataReaction as json.

pub fn message_org_stats_decoder() -> decode.Decoder(
  MessageOrgStats,
)

Decodes MessageOrgStats from json.

pub fn message_org_stats_to_json(
  it: MessageOrgStats,
) -> json.Json

Encodes MessageOrgStats as json.

pub fn message_views_by_client_decoder() -> decode.Decoder(
  MessageViewsByClient,
)

Decodes MessageViewsByClient from json.

pub fn message_views_by_client_to_json(
  it: MessageViewsByClient,
) -> json.Json

Encodes MessageViewsByClient as json.

pub fn messages_activity(
  channel channel: String,
) -> slackline.Call(MessagesActivity, MessagesActivityResponse)

admin.analytics.messages.activity: Retrieves activity metrics for messages from a given channel.

analytics.MessagesActivity identifies this method in slackline.Call.

Set optional arguments with the functions in slackline/api/admin/analytics/messages_activity.

User token scopes: admin.analytics:read.

Rate limit tier: t2.

Documented errors: channel_not_found, not_an_enterprise, rate_limited, restricted_action, restricted_plan_level.

pub fn messages_activity_response_decoder() -> decode.Decoder(
  MessagesActivityResponse,
)

Decodes the response from admin.analytics.messages.activity.

pub fn messages_metadata(
  channel channel: String,
) -> slackline.Call(MessagesMetadata, MessagesMetadataResponse)

admin.analytics.messages.metadata: Retrieves metadata for a list of messages from a given channel.

analytics.MessagesMetadata identifies this method in slackline.Call.

Set optional arguments with the functions in slackline/api/admin/analytics/messages_metadata.

User token scopes: admin.analytics:read.

Rate limit tier: t5.

Documented errors: admin_analytics_disabled, analytics_unavailable, channel_not_found, different_team_owns_message_metadata_for_channel, not_an_enterprise, rate_limited, restricted_action, restricted_plan_level.

pub fn messages_metadata_response_decoder() -> decode.Decoder(
  MessagesMetadataResponse,
)

Decodes the response from admin.analytics.messages.metadata.

pub fn public_channel_analytics_decoder() -> decode.Decoder(
  PublicChannelAnalytics,
)

Decodes PublicChannelAnalytics from json.

pub fn public_channel_analytics_to_json(
  it: PublicChannelAnalytics,
) -> json.Json

Encodes PublicChannelAnalytics as json.

pub fn public_channel_metadata_decoder() -> decode.Decoder(
  PublicChannelMetadata,
)

Decodes PublicChannelMetadata from json.

pub fn public_channel_metadata_to_json(
  it: PublicChannelMetadata,
) -> json.Json

Encodes PublicChannelMetadata as json.

✨ Search Document