Heroku AppLink Logging and Common Errors
Last updated July 14, 2025
Table of Contents
Heroku AppLink produces logs of its activity, which you can access from your log drain. This article describes what you see in your logs and documents common errors and messages in those logs.
Application Logging
You can view logging and metrics with Heroku’s standard tail logs with the heroku logs
command or by using logging add-ons. Log entries follow the standard log format.
Here’s an example of the log entries:
$ heroku logs --tail
---
2024-10-28T16:02:15.215250+00:00 app[web.1]: time=2024-10-28T16:02:15.215Z level=INFO msg="Processing request to /accounts..." app=local source=heroku-applink-service-mesh request-id=00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c
2024-10-28T16:02:15.215254+00:00 app[web.1]: time=2024-10-28T16:02:15.215Z level=INFO msg="Validating request..." app=local source=heroku-applink-service-mesh request-id=00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c
2024-10-28T16:02:15.215330+00:00 app[web.1]: time=2024-10-28T16:02:15.215Z level=INFO msg="Valid request!" app=local source=heroku-applink-service-mesh request-id=00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c
2024-10-28T16:02:15.215331+00:00 app[web.1]: time=2024-10-28T16:02:15.215Z level=INFO msg="Found Salesforce request" app=local source=heroku-applink-service-mesh request-id=00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c
2024-10-28T16:02:15.215332+00:00 app[web.1]: time=2024-10-28T16:02:15.215Z level=INFO msg="Authenticating Salesforce request for org 00Dbc0000000000000, domain https://mydomain.demo.my.salesforce.com..." app=local source=heroku-applink-service-mesh request-id=00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c
2024-10-28T16:02:15.394673+00:00 app[web.1]: time=2024-10-28T16:02:15.394Z level=INFO msg="Authenticated request!" app=local source=heroku-applink-service-mesh request-id=00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c
2024-10-28T16:02:15.394674+00:00 app[web.1]: time=2024-10-28T16:02:15.394Z level=INFO msg="Forwarding request..." app=local source=heroku-applink-service-mesh request-id=00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c
2024-10-28T16:02:15.395727+00:00 app[web.1]: {"level":30,"time":1730131335395,"pid":37,"hostname":"dyno-f34267e3-3d00-453d-a3b4-a16ab26a773b","reqId":"00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c","req":{"method":"GET","url":"/accounts","hostname":"127.0.0.1:3000","remoteAddress":"127.0.0.1","remotePort":35162},"msg":"incoming request"}
2024-10-28T16:02:15.398888+00:00 app[web.1]: {"level":30,"time":1730131335396,"pid":37,"hostname":"dyno-f34267e3-3d00-453d-a3b4-a16ab26a773b","reqId":"00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c","msg":"GET /accounts: {}"}
2024-10-28T16:02:15.398893+00:00 app[web.1]: {"level":30,"time":1730131335396,"pid":37,"hostname":"dyno-f34267e3-3d00-453d-a3b4-a16ab26a773b","reqId":"00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c","msg":"Querying invoking org (00Dbc0000000000000) Accounts..."}
2024-10-28T16:02:15.481929+00:00 app[web.1]: {"level":30,"time":1730131335481,"pid":37,"hostname":"dyno-f34267e3-3d00-453d-a3b4-a16ab26a773b","reqId":"00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c","msg":"For invoking org (00Dbc0000000000000), found the following Accounts: [{\"id\":\"001Ws00003GGHVCIA5\",\"name\":\"Global Media\"},{\"id\":\"001Ws00003GGHVDIA5\",\"name\":\"Acme\"},{\"id\":\"001Ws00003GGHVEIA5\",\"name\":\"salesforce.com\"}]"}
2024-10-28T16:02:15.482306+00:00 app[web.1]: 2024/10/28 16:02:15 [00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c] "GET http://integration-app-c4effe617e07.herokuapp.com/accounts HTTP/1.1" from 18.214.12.209 - 200 267B in 267.062237ms
2024-10-28T16:02:15.482442+00:00 app[web.1]: {"level":30,"time":1730131335482,"pid":37,"hostname":"dyno-f34267e3-3d00-453d-a3b4-a16ab26a773b","reqId":"00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c","res":{"statusCode":200},"responseTime":86.56547299958766,"msg":"request completed"}
2024-10-28T16:02:15.482623+00:00 heroku[router]: at=info method=GET path="/accounts" host=integration-app-c4effe617e07.herokuapp.com request_id=00Dbc0000000000000-f2f3ed60-2dbd-4edd-b707-9dee97d89c7c fwd="18.214.12.209" dyno=web.1 connect=0ms service=267ms status=200 bytes=267 protocol=http tls_version=tls1.3
Log Errors
Here are some common errors you may see in your AppLink logs.
Confirmation doesn’t match the expected value
This error can happen if the entered value in the --confirm
flag isn’t the correct value. Re-run the command with the expected value to try again.
AppLink add-on [addon] doesn’t exist or isn’t present
AppLink add-on configuration errors can happen if the requested AppLink add-on doesn’t exist on an app or the app doesn’t have AppLink provisioned. Use heroku addons --app [app]
to list the add-ons on the app or install the add-on.
Multiple AppLink add-ons
This error can happen if your app has multiple AppLink add-ons provisioned or attached to it and the app doesn’t know which add-on to use. Try again with the --addon
flag to specify the AppLink add-on to use.
API spec file path [path] doesn’t exist or API spec file format errors
These errors can happen if the API spec file path when publishing your app is incorrect, or the API spec file path isn’t in YAML
(.yaml/.yml) or JSON
(.json) format. Make sure the API spec file path is correct and in a supported format before trying again.
[connection_name] doesn’t exist on app [app] or no active AppLink connections
These errors can happen if you entered the wrong name for the connection, the connection doesn’t exist on the app, or the app doesn’t have any connections yet. Use heroku applink:connections --app [app]
to list the connections on the app, or create a connection.
Developer Name [developer_name] doesn’t exist on app [app]
This error can happen if you entered the wrong name for the authorization or the authorization doesn’t exist on the app. Use heroku applink:authorizations
to list all authorized users on the app.