metabase / metabase/metabase

Make Metabase generate "events" to easily integrate with external applications

Open
#23,186 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

.Team/Gadget Notifications Type:New Feature
Dominant language
Clojure
Stars
49.3k
Forks
6.8k
Avg merge
1d 13h
Merged PRs (30d)
653

Description

Is your feature request related to a problem? Please describe.
Currently the only way to integrate Metabase with external applications (a-la if-this-then-that) would be to either mirror the requests on the reverse-proxy through a sidecar pattern (see ticket 9588) or use triggers in the DB that call an external service.

These 2 types of integrations are architecturally disgusting, since we're discovering events on layers that shouldn't be used for that. These events should be published by the logic layer on the moment that the event is processed.

Events like:

  • a user is created/authenticated/disabled, etc
  • a user creates/updates/deletes a dashboard/question/metric/segment/collection, etc
  • a sync started/errored, etc

Describe the solution you'd like
Any event that we currently generate internally in the application should be sent as an HTTP call to an external application

Describe alternatives you've considered
Described above

How important is this feature to you?
2nd time I hear about this from customers

Additional context
NA

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

The request identifies the application logic layer and HTTP calls to external applications as the relevant entry points, but names no files or tests. Start by mapping the internally generated events and their callers; done would require a defined, verified approach for publishing the supported events externally.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.