OAuth account-level integrations — GitHub, Slack, Linear, Discord.
Example
client = Miosa.client(System.fetch_env!("MIOSA_API_KEY"))
{:ok, integrations} = Miosa.Integrations.list(client)
{:ok, %{"url" => url}} = Miosa.Integrations.start(client, "github")
Summary
Functions
List available providers in the integration catalog.
Disconnect (revoke) an integration by provider name.
Send a test message to the connected Discord channel.
List GitHub repositories accessible to this integration.
List configured GitHub deploy (SSH) keys.
Create a Linear issue via the connected workspace.
Begin the Linear OAuth flow.
List active OAuth integrations for the tenant.
Force-refresh the access token for a connected provider.
Send a test message to the connected Slack channel.
Begin the OAuth flow for a provider — returns an authorize URL.
Functions
@spec catalog(Miosa.Client.t()) :: Miosa.Client.result(map())
List available providers in the integration catalog.
@spec disconnect(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Disconnect (revoke) an integration by provider name.
@spec discord_send_test(Miosa.Client.t(), map()) :: Miosa.Client.result(map())
Send a test message to the connected Discord channel.
@spec github_repos(Miosa.Client.t()) :: Miosa.Client.result(map())
List GitHub repositories accessible to this integration.
@spec github_ssh_keys(Miosa.Client.t()) :: Miosa.Client.result(map())
List configured GitHub deploy (SSH) keys.
@spec linear_create_issue(Miosa.Client.t(), map()) :: Miosa.Client.result(map())
Create a Linear issue via the connected workspace.
@spec linear_start(Miosa.Client.t()) :: Miosa.Client.result(map())
Begin the Linear OAuth flow.
@spec list(Miosa.Client.t()) :: Miosa.Client.result(map())
List active OAuth integrations for the tenant.
@spec refresh(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Force-refresh the access token for a connected provider.
@spec slack_send_test(Miosa.Client.t(), map()) :: Miosa.Client.result(map())
Send a test message to the connected Slack channel.
@spec start(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Begin the OAuth flow for a provider — returns an authorize URL.