25228791 CustomerApi.Jobs.PublishNotificationJob
Queue notifications
Attempt 5 of 5
Priority 0
Tags ...
Node customer_api@10.10.1.214
Queue Time 00:00.201
Run Time 00:00.004
Inserted 5h ago
Scheduled 5h ago
Completed
Cancelled
Discarded 5h ago

Args

%{
  "account_id" => "106160",
  "data" => %{
    "account_insight_agent_id" => "62e3b1cf-db85-43c3-82f1-0205b271a4b3",
    "insights" => [
      %{
        "action_plan" => "Run this as a simple experiment:\n1. Define a **new users — first 14 days** audience.\n2. Choose one feature whose usage you believe predicts month-2 retention.\n3. Build a sequence with **1 lightweight announcement touch** plus **1–2 contextual nudges** tied to relevant pages or behaviors, instead of 3 generic banners.\n4. Attach a feature-adoption goal and compare against a control group.\n5. Review not just impressions, but **goal conversion** and later retention for exposed vs. holdout users.\n\nThat’s the old gambling lesson: if you can’t count the cards, don’t blame the dealer. Right now you need the counting system before you can trust the jackpot story.",
        "actions" => [],
        "cta_text" => nil,
        "entity_id" => nil,
        "entity_type" => nil,
        "expected_impact" => "A properly instrumented test can tell you whether early in-app guidance moves adoption toward the ~34% feature-adoption benchmark and whether your retained cohort improves afterward .",
        "finding" => "The best way to derive additional insight from the Loops claim is to test **which early-life messaging pattern** works in your product. Appcues documentation says **behavior-triggered in-product nudges** outperform batch campaigns by about **45%** for feature adoption, and best-practice guidance specifically recommends **single tooltips** and short contextual flows for adoption, while banners are better suited to announcements   . Appcues also recommends attaching a goal to every published experience and using control experiments to measure true lift .",
        "outcomes" => ["adoption", "activation", "retention"],
        "priority" => "medium",
        "title" => "Use the Loops insight to run a targeted adoption experiment, not a banner-only campaign",
        "type" => "opportunity"
      }
    ]
  },
  "notification_id" => "7f3bd1ef-7f07-4685-8e60-b54dce250f92",
  "workflow_key" => "insight-opportunity-added"
}

Meta

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

Errors

Attempt 5—5h 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+522e3953) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+522e3953) 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—5h 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+522e3953) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+522e3953) 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—5h 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+522e3953) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+522e3953) 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—5h 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+522e3953) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+522e3953) 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—5h 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+522e3953) lib/customer_api/services/knock.ex:65: CustomerApi.Services.Knock.trigger/3
    (customer_api 1.21.0+522e3953) 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