24954115 CustomerApi.Jobs.PublishNotificationJob
Queue notifications
Attempt 5 of 5
Priority 0
Tags ...
Node customer_api@10.10.0.159
Queue Time 00:00.270
Run Time 00:00.007
Inserted 3d ago
Scheduled 3d ago
Completed
Cancelled
Discarded 3d ago

Args

%{
  "account_id" => "48280",
  "data" => %{
    "account_insight_agent_id" => "ca7e37ab-720c-466f-b7b1-c7f93b25b3e6",
    "insights" => [
      %{
        "action_plan" => "Review this as a quarterly content hygiene pass.\n\n1. Open each linked experience settings page and confirm whether the original use case still matters.\n2. If the message is obsolete, seasonal, replaced, or no longer reachable by its audience, unpublish it.\n3. If the use case is still valuable, keep it live but review targeting, trigger rules, and frequency to confirm it still has a path to delivery.\n4. Prioritize old onboarding, help-center, support, and release-note flows first, since dormant content is concentrated there.\n\nIf you want a bulk cleanup next, run a fresh analytics-capable verification pass first for the full list so unpublishing decisions are made from current 30-day activity rather than the last verified snapshot.",
        "actions" => [],
        "cta_text" => "Review inactive experiences",
        "entity_id" => nil,
        "entity_type" => nil,
        "expected_impact" => "Cleaning up unused live experiences should reduce clutter in your production messaging inventory, make it easier to manage active content, and lower the risk of outdated guidance resurfacing later.",
        "finding" => "Based on the most recent **verified hygiene review** available for this account, **23 published experiences** that were already live for **more than 3 weeks** had **no seen / completion / skip / dismiss activity in the prior 30 days**. This is best treated as routine cleanup rather than a mistake.\n\nVerified inactive set from that review:\n- Type: **Flow**\n- Count: **23**\n\nNo published **banners** or **checklists** were found in the current account snapshot, so none are part of this alert. Published **pins** and the single **launchpad** exist, but they were **not re-verified for inactivity in the latest available review**, so they are excluded from the count for accuracy.\n\nRepresentative cleanup candidates to review in settings:\n- [Onboarding: Welcome to ChargePilot](https://studio.appcues.com/flows/000d3646-bf4b-4550-9747-0faa27eb18eb/settings)\n  - Type: Flow\n  - Designed to guide new users through initial onboarding based on the title and flow metadata.\n- [NA Onboarding: Welcome to ChargePilot](https://studio.appcues.com/flows/fbd897b5-6b09-4cf4-b48e-df2652c89e73/settings)\n  - Type: Flow\n  - Designed as a North America onboarding welcome experience for new users.\n- [Onboarding: Add a new RFID](https://studio.appcues.com/flows/f396680b-8b28-483b-a239-92fb4580b294/settings)\n  - Type: Flow\n  - Designed to drive adoption of adding RFID credentials during onboarding.\n- [Onboarding: Restart a Charging Station](https://studio.appcues.com/flows/c29cc23c-3492-485f-b0fa-92eebdb5ae70/settings)\n  - Type: Flow\n  - Designed to teach a core operational task during onboarding.\n- [Onboarding: View & Download a Charging Event](https://studio.appcues.com/flows/f7b41db1-7255-403e-a0dd-6ea67a7ecfa8/settings)\n  - Type: Flow\n  - Designed to help users find and export charging event data.\n- [[EN] Help Center Intro (triggered manually)](https://studio.appcues.com/flows/2093639f-12e4-4436-80fa-ba5951efbe90/settings)\n  - Type: Flow\n  - Designed to introduce or route users into help-center content.\n- [[DE] Help Center Intro (triggered manually)](https://studio.appcues.com/flows/65ce5b6c-4374-4fe0-80a2-381a1ddbd97e/settings)\n  - Type: Flow\n  - Designed as the German-language help-center introduction.\n- [[EU_EN] Contact Support (Help Center, new FAQs)](https://studio.appcues.com/flows/1815b801-0c52-4116-bd9d-5a0dd1d9a4df/settings)\n  - Type: Flow\n  - Designed to route EU English users to support or FAQ resources.\n- [[NA_EN] Contact Support (Help Center, new FAQs)](https://studio.appcues.com/flows/4cce84e2-7356-4684-ba35-34cae72e8c9d/settings)\n  - Type: Flow\n  - Designed to route North America English users to support or FAQ resources.\n- [[EU_EN] ChargePilot Status, Maintenance Window, Release Notes](https://studio.appcues.com/flows/1b885b76-4295-4dfe-ae08-42c40312e277/settings)\n  - Type: Flow\n  - Designed to communicate product status, maintenance windows, or release updates.\n- [[DE] ChargePilot Status, Wartungsfenster, Release Notes](https://studio.appcues.com/flows/4c55577f-811f-42a3-ac0a-c5d737257ca0/settings)\n  - Type: Flow\n  - Designed as the German-language status / release communication.\n- [[NA] ChargePilot Status, Maintenance Window, Release Notes](https://studio.appcues.com/flows/ddeaa987-97cf-43e8-a866-01cc7d5466ff/settings)\n  - Type: Flow\n  - Designed as the North America status / release communication.\n\nAppcues documents this as a standard **Experience Hygiene** use case: identifying published experiences with no recent activity so teams can review whether the content is still relevant, outdated, or broken . Experience activity is commonly evaluated with 30-day windows in Appcues reporting, including experience-seen metrics and account usage views  .",
        "outcomes" => ["engagement", "retention"],
        "priority" => "medium",
        "title" => "23 published experiences have had no activity for more than 30 days.",
        "type" => "issue"
      }
    ]
  },
  "notification_id" => "eba9bc08-b9bb-452c-83fa-29e853366eff",
  "workflow_key" => "insight-issue-added"
}

Meta

%{"orig_scheduled_at" => 1777317442391693, "structured" => true}

Errors

Attempt 5—3d ago

** (Knock.ApiKeyMissingError)   The api_key setting is required to make requests to Knock.
  Please configure :api_key in config.exs, set the KNOCK_API_KEY
  environment variable, or pass into a new client instance.

    (knock 0.5.0) lib/knock/client.ex:65: Knock.Client.new/1
    (customer_api 1.21.0+5243cc40) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+5243cc40) lib/customer_api/jobs/publish_notification_job.ex:93: CustomerApi.Jobs.PublishNotificationJob.do_publish/4
    (oban_pro 1.6.12) lib/oban/pro/worker.ex:1156: Oban.Pro.Worker.process/3
    (oban 2.20.3) lib/oban/queue/executor.ex:145: Oban.Queue.Executor.perform/1
    (oban 2.20.3) lib/oban/queue/executor.ex:77: Oban.Queue.Executor.call/1
    (elixir 1.19.5) lib/task/supervised.ex:105: Task.Supervised.invoke_mfa/2
    (elixir 1.19.5) lib/task/supervised.ex:40: Task.Supervised.reply/4

Attempt 4—3d ago

** (Knock.ApiKeyMissingError)   The api_key setting is required to make requests to Knock.
  Please configure :api_key in config.exs, set the KNOCK_API_KEY
  environment variable, or pass into a new client instance.

    (knock 0.5.0) lib/knock/client.ex:65: Knock.Client.new/1
    (customer_api 1.21.0+5243cc40) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+5243cc40) lib/customer_api/jobs/publish_notification_job.ex:93: CustomerApi.Jobs.PublishNotificationJob.do_publish/4
    (oban_pro 1.6.12) lib/oban/pro/worker.ex:1156: Oban.Pro.Worker.process/3
    (oban 2.20.3) lib/oban/queue/executor.ex:145: Oban.Queue.Executor.perform/1
    (oban 2.20.3) lib/oban/queue/executor.ex:77: Oban.Queue.Executor.call/1
    (elixir 1.19.5) lib/task/supervised.ex:105: Task.Supervised.invoke_mfa/2
    (elixir 1.19.5) lib/task/supervised.ex:40: Task.Supervised.reply/4

Attempt 3—3d ago

** (Knock.ApiKeyMissingError)   The api_key setting is required to make requests to Knock.
  Please configure :api_key in config.exs, set the KNOCK_API_KEY
  environment variable, or pass into a new client instance.

    (knock 0.5.0) lib/knock/client.ex:65: Knock.Client.new/1
    (customer_api 1.21.0+5243cc40) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+5243cc40) lib/customer_api/jobs/publish_notification_job.ex:93: CustomerApi.Jobs.PublishNotificationJob.do_publish/4
    (oban_pro 1.6.12) lib/oban/pro/worker.ex:1156: Oban.Pro.Worker.process/3
    (oban 2.20.3) lib/oban/queue/executor.ex:145: Oban.Queue.Executor.perform/1
    (oban 2.20.3) lib/oban/queue/executor.ex:77: Oban.Queue.Executor.call/1
    (elixir 1.19.5) lib/task/supervised.ex:105: Task.Supervised.invoke_mfa/2
    (elixir 1.19.5) lib/task/supervised.ex:40: Task.Supervised.reply/4

Attempt 2—3d ago

** (Knock.ApiKeyMissingError)   The api_key setting is required to make requests to Knock.
  Please configure :api_key in config.exs, set the KNOCK_API_KEY
  environment variable, or pass into a new client instance.

    (knock 0.5.0) lib/knock/client.ex:65: Knock.Client.new/1
    (customer_api 1.21.0+5243cc40) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+5243cc40) lib/customer_api/jobs/publish_notification_job.ex:93: CustomerApi.Jobs.PublishNotificationJob.do_publish/4
    (oban_pro 1.6.12) lib/oban/pro/worker.ex:1156: Oban.Pro.Worker.process/3
    (oban 2.20.3) lib/oban/queue/executor.ex:145: Oban.Queue.Executor.perform/1
    (oban 2.20.3) lib/oban/queue/executor.ex:77: Oban.Queue.Executor.call/1
    (elixir 1.19.5) lib/task/supervised.ex:105: Task.Supervised.invoke_mfa/2
    (elixir 1.19.5) lib/task/supervised.ex:40: Task.Supervised.reply/4

Attempt 1—3d ago

** (Knock.ApiKeyMissingError)   The api_key setting is required to make requests to Knock.
  Please configure :api_key in config.exs, set the KNOCK_API_KEY
  environment variable, or pass into a new client instance.

    (knock 0.5.0) lib/knock/client.ex:65: Knock.Client.new/1
    (customer_api 1.21.0+5243cc40) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+5243cc40) lib/customer_api/jobs/publish_notification_job.ex:93: CustomerApi.Jobs.PublishNotificationJob.do_publish/4
    (oban_pro 1.6.12) lib/oban/pro/worker.ex:1156: Oban.Pro.Worker.process/3
    (oban 2.20.3) lib/oban/queue/executor.ex:145: Oban.Queue.Executor.perform/1
    (oban 2.20.3) lib/oban/queue/executor.ex:77: Oban.Queue.Executor.call/1
    (elixir 1.19.5) lib/task/supervised.ex:105: Task.Supervised.invoke_mfa/2
    (elixir 1.19.5) lib/task/supervised.ex:40: Task.Supervised.reply/4