Product Analytics? Session Recording? Feature Flags? Experiments? PostHog does that. Open source, backed by @ycombinator
Emit new event when a new message is posted to one or more channels
Emit new event when an action is performed in a project. See the documentation
Emit new event when a message was posted in a direct message channel
Emit new events on new Slack interactivity events sourced from Block Kit interactive elements, Slash commands, or Shortcuts.
Captures a given event within the PostHog system. See the documentation
Send a message to a public or private channel. See the documentation
Configure custom blocks and send to a channel, group, or user. See the documentation.
Send a message as a threaded reply. See postMessage or scheduleMessage docs here
Send a message to a user or group. See the documentation
The PostHog API lets you track events, update user properties, and extract analytics to understand user behavior within your applications. Integrating this API into Pipedream workflows allows you to automate actions based on event data, sync user properties across platforms, and trigger alerts or notifications.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
posthog: {
type: "app",
app: "posthog",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://app.posthog.com/api/users/@me/`,
headers: {
Authorization: `Bearer ${this.posthog.$auth.api_key}`,
},
})
},
})
The Pipedream Slack app enables you to build event-driven workflows that interact with the Slack API. Once you authorize the Pipedream app's access to your workspace, you can use Pipedream workflows to perform common Slack actions or write your own code against the Slack API.
The Pipedream Slack app is not a typical app. You don't interact with it directly as a bot, and it doesn't add custom functionality to your workspace out of the box. It makes it easier to automate anything you'd typically use the Slack API for, using Pipedream workflows.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
slack: {
type: "app",
app: "slack",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://slack.com/api/users.profile.get`,
headers: {
Authorization: `Bearer ${this.slack.$auth.oauth_access_token}`,
},
})
},
})