PostHog / PostHog/posthog

Model SMS as a channel with a selectable provider in Workflows

Open
#72,152 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
39.9k
Forks
3.4k
Avg merge
6h 51m
Merged PRs (30d)
232

Description

Is your feature request related to a problem?

In Workflows, channels are modeled by capability (Email, Slack, push) with a provider underneath, but SMS is the exception. It is modeled around a single provider, its setup and backend provider are Twilio-specific, rather than as an SMS channel with a selectable provider. So a user who wants to send SMS through a different provider has no way to pick one.

Describe the solution you'd like

Model SMS as a channel with a selectable provider, the way Email already works, so a user configures an SMS channel and chooses a provider inside it. The current provider stays the default, other popular providers that support SMS can be added, and Plivo would be the first additional one.

Describe alternatives you've considered

Add another vendor-named channel per provider, which repeats the inconsistency and keeps the channel coupled to a vendor instead of the capability.

Additional context

This is an architecture related question, so raising it for discussion first. Happy to shape it to your conventions and open a PR.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by tracing how the existing Email channel selects providers and how the Twilio-specific SMS setup is represented; done means SMS is modeled as a capability with a selectable default provider and Plivo can be added without vendor-named channels.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.