- Elastic Cloud Serverless
- Elasticsearch
- Elastic Observability
- Get started
- Observability overview
- Elastic Observability Serverless billing dimensions
- Create an Observability project
- Quickstart: Monitor hosts with Elastic Agent
- Quickstart: Monitor your Kubernetes cluster with Elastic Agent
- Quickstart: Monitor hosts with OpenTelemetry
- Quickstart: Unified Kubernetes Observability with Elastic Distributions of OpenTelemetry (EDOT)
- Quickstart: Collect data with AWS Firehose
- Get started with dashboards
- Applications and services
- Application performance monitoring (APM)
- Get started with traces and APM
- Learn about data types
- Collect application data
- View and analyze data
- Act on data
- Use APM securely
- Reduce storage
- Managed intake service event API
- Troubleshooting
- Synthetic monitoring
- Get started
- Scripting browser monitors
- Configure lightweight monitors
- Manage monitors
- Work with params and secrets
- Analyze monitor data
- Monitor resources on private networks
- Use the CLI
- Configure a Synthetics project
- Multifactor Authentication for browser monitors
- Configure Synthetics settings
- Grant users access to secured resources
- Manage data retention
- Scale and architect a deployment
- Synthetics Encryption and Security
- Troubleshooting
- Application performance monitoring (APM)
- Infrastructure and hosts
- Logs
- Inventory
- Incident management
- Data set quality
- Observability AI Assistant
- Machine learning
- Reference
- Get started
- Elastic Security
- Elastic Security overview
- Security billing dimensions
- Create a Security project
- Elastic Security requirements
- Elastic Security UI
- AI for Security
- Ingest data
- Configure endpoint protection with Elastic Defend
- Manage Elastic Defend
- Endpoints
- Policies
- Trusted applications
- Event filters
- Host isolation exceptions
- Blocklist
- Optimize Elastic Defend
- Event capture and Elastic Defend
- Endpoint protection rules
- Identify antivirus software on your hosts
- Allowlist Elastic Endpoint in third-party antivirus apps
- Elastic Endpoint self-protection features
- Elastic Endpoint command reference
- Endpoint response actions
- Cloud Security
- Explore your data
- Dashboards
- Detection engine overview
- Rules
- Alerts
- Advanced Entity Analytics
- Investigation tools
- Asset management
- Manage settings
- Troubleshooting
- Manage your project
- Changelog
Create custom links
editCreate custom links
editRequired role
The Editor role or higher is required to create and manage custom links. To learn more, refer to Assign user roles and privileges.
Elastic’s custom link feature allows you to easily create up to 500 dynamic links based on your specific APM data. Custom links can be filtered to only appear for relevant services, environments, transaction types, or transaction names.
Ready to dive in? Jump straight to the examples.
Create a link
editEach custom link consists of a label, URL, and optional filter. The easiest way to create a custom link is from within the actions dropdown in the transaction detail page. This method will automatically apply filters, scoping the link to that specific service, environment, transaction type, and transaction name.
Alternatively, you can create a custom link by navigating to any page within Applications and selecting Settings → Custom Links → Create custom link.
Label
editThe name of your custom link. The actions context menu displays this text, so keep it as short as possible.
Custom links are displayed alphabetically in the actions menu.
URL
editThe URL your link points to.
URLs support dynamic field name variables, encapsulated in double curly brackets: {{field.name}}
.
These variables will be replaced with transaction metadata when the link is clicked.
Because everyone’s data is different, you’ll need to examine your traces to see what metadata is available for use. To do this, select a trace and click Metadata in the Trace Sample table.

Filters
editFilter each link to only appear for specific services or transactions. You can filter on the following fields:
-
service.name
-
service.env
-
transaction.type
-
transaction.name
Multiple values are allowed when comma-separated.
Custom link examples
editNot sure where to start with custom links? Take a look at the examples below and customize them to your liking!
Email the owner of a service.
Label |
|
Link |
|
Filters |
|
Example
This link opens an email addressed to the team or owner of python-backend
.
It will only appear on services with the name python-backend
.
Label |
|
Link |
|
Filters |
|
GitHub issue
editOpen a GitHub issue with prepopulated metadata from the selected trace sample.
Label |
|
Link |
|
Filters |
|
Example
This link opens a new GitHub issue in the apm-agent-rum repository. It populates the issue body with relevant metadata from the currently active trace. Clicking this link results in the following issue being created:

Label |
|
Link |
|
Filters |
|
See the GitHub automation documentation for a full list of supported query parameters.
Jira task
editCreate a Jira task with prepopulated metadata from the selected trace sample.
Label |
|
Link |
|
Example
This link creates a new task on the Engineering board in Jira. It populates the issue body with relevant metadata from the currently active trace. Clicking this link results in the following task being created in Jira:

Label |
|
Link |
|
See the Jira application administration knowledge base for a full list of supported query parameters.
Dashboards
editLink to a custom dashboard.
Label |
|
Link |
|
Example
This link opens the current transaction.id
in a custom dashboard.
There are no filters set.
Label |
|
URL |
|
Slack channel
editOpen a specified slack channel.
Label |
|
Link |
|
Filters |
|
Example
This link opens a company slack channel, #apm-user-support.
It only appears when transaction.name
is GET user/login
.
Label |
|
Link |
|
Filters |
|
Website
editOpen an internal or external website.
Label |
|
Link |
|
Filters |
|
Example
This link opens more data on a specific user.email
.
It only appears on front-end transactions.
Label |
|
Link |
|
Filters |
|
On this page