Last updated Apr 16, 2024

Forge remote

Forge remote allows you to integrate a Forge app with services hosted on other platforms.

This allows you to:

  • Call a remote backend (from a Custom UI or UI Kit frontend)
  • Send product and lifecycle events (to a remote)
  • Configure scheduled triggers to invoke a remote backend

From your remote, you are then able to:

  • Access Forge storage
  • Call product APIs

Using Forge remote

Use cases

Some use cases for these capabilities:

  • Create an integration app that sends or receives data between an Atlassian product and a third-party product.
  • Invoke a complex existing application, for example, your own customized large language model that provides AI services to your app that runs on a non-Atlassian platform.

Limitations and issues

Forge remote has a few key improvements we’re still working on:

Improved local dev loop

For development with a local server, you will need to update the baseUrl in the remotes section of manifest.yml to the local address. You will need to redeploy your app and restart your tunnel.

Multi-region support

At the moment, all Forge invocations are executed in us-west-2 US West (Oregon), and this is the case for remote invocations as well. We are working on multi-region compute for the Forge platform - Forge remote will get support when that is rolled out.

See the code for a working reference app

Reference Forge application (frontend code):

Reference backend endpoints:

The Forge portion of the app demonstrates how to define:

  • A remote resolver for a Confluence macro using Custom UI and targeting a node.js remote endpoint.
  • A remote resolver for a Confluence macro using Custom UI and targeting a Spring Boot remote endpoint.
  • A remote receiver for the avi:confluence:created:comment and avi:confluence:created:page events targeting a Spring Boot endpoint.
  • A remote receiver for the avi:confluence:created:page event targeting a node.js endpoint.

The remote app code demonstrates how to:

  • Validate and retrieve key information from a Forge Invocation Token (FIT).
  • Set, get, and delete an entry from Forge Storage using GraphQL.
  • Invoke Atlassian product APIs with app and user permissions.
  • Invoke a Confluence API with app permission to place a comment on a page in response to the avi:confluence:created:page event.
  • Invoke a Confluence API with app permissions to fetch a page in response to the avi:confluence:created:comment event.

Rate this page: