25115247 CustomerApi.Jobs.PublishNotificationJob
Queue notifications
Attempt 5 of 5
Priority 0
Tags ...
Node customer_api@10.10.1.109
Queue Time 00:00.222
Run Time 00:00.006
Inserted 8h ago
Scheduled 8h ago
Completed
Cancelled
Discarded 8h ago

Args

%{
  "account_id" => "112644",
  "data" => %{
    "account_insight_agent_id" => "5ca8872f-489e-4bbf-8ca6-ab4b8cd5bb3d",
    "insights" => [
      %{
        "action_plan" => "Treat this as routine cleanup. Review whether each flow still supports a live user journey, then unpublish the ones tied to retired checklist steps, outdated library layouts, or no-longer-used feedback loops. If a flow still matters strategically, keep it live but confirm the trigger path still exists and that the targeted page or behavior is still current.",
        "actions" => [
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID c67dadae-63d3-4983-b577-accf478e9ae0 named \"Struggling to find the right content?\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish content survey entry flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID c67dadae-63d3-4983-b577-accf478e9ae0 named \"Struggling to find the right content?\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID c5e8e106-35ac-4778-948c-8b66c20ecd1a named \"How to find more relevant content\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish content survey form flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID c5e8e106-35ac-4778-948c-8b66c20ecd1a named \"How to find more relevant content\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID 6a35f56c-ed16-47e7-9242-73ad0e41cb27 named \"Find the right content - too difficult\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish content difficulty help flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID 6a35f56c-ed16-47e7-9242-73ad0e41cb27 named \"Find the right content - too difficult\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID b7dca8b4-7fbd-4a99-bfdf-0a6f3fe1fb20 named \"Find the right content - too easy\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish content easy help flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID b7dca8b4-7fbd-4a99-bfdf-0a6f3fe1fb20 named \"Find the right content - too easy\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID 5234e29b-5c7f-4aee-adf9-899ea56cb536 named \"Find the right content - Other\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish content other help flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID 5234e29b-5c7f-4aee-adf9-899ea56cb536 named \"Find the right content - Other\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID 540a5634-0a57-4c6f-a663-fba6b9d728c8 named \"How to import content into LingQ\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish import education flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID 540a5634-0a57-4c6f-a663-fba6b9d728c8 named \"How to import content into LingQ\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID a47ea9fc-ba80-4f4e-a62d-4208bd7fe577 named \"Share feedback\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish feedback collection flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID a47ea9fc-ba80-4f4e-a62d-4208bd7fe577 named \"Share feedback\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID 3eb987e5-92b3-4074-838a-e9d16dac4359 named \"Invite Friends flow for checklist\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish referral checklist flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID 3eb987e5-92b3-4074-838a-e9d16dac4359 named \"Invite Friends flow for checklist\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID 42b0760a-571a-4a72-881a-420c5ee95aea named \"Vocabulary video for Checklist\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish vocabulary checklist flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID 42b0760a-571a-4a72-881a-420c5ee95aea named \"Vocabulary video for Checklist\"."
          },
          %{
            "cta" => "Unpublish",
            "prompt" => "Use the product_support unpublish_experience tool to unpublish the published web flow with ID 476ab5b7-897d-4d40-ac87-9e464880ed7f named \"Listening video for Checklist\". This is routine hygiene cleanup for a published experience that was identified as inactive in the last 30-day review.",
            "title" => "Unpublish listening checklist flow",
            "undo_prompt" => "Use the product_support publish_experience tool to republish the web flow with ID 476ab5b7-897d-4d40-ac87-9e464880ed7f named \"Listening video for Checklist\"."
          }
        ],
        "cta_text" => "Review inactive experiences",
        "entity_id" => nil,
        "entity_type" => nil,
        "expected_impact" => "Reducing stale live content should simplify experience governance, lower the chance of outdated guidance resurfacing, and keep activation journeys focused on current product paths.",
        "finding" => "These published experiences were all **published more than 3 weeks ago** and were part of the last verified inactivity review showing **no seen events or enrollments in the previous 30 days**.\n\nRoutine hygiene candidates to review:\n- [Struggling to find the right content?](https://studio.appcues.com/flows/c67dadae-63d3-4983-b577-accf478e9ae0/settings)\n  - Type: Flow\n  - Intro modal for users on **www.lingq.com/web/library** after multiple lesson opens without completing a lesson or creating many LingQs.\n- [How to find more relevant content](https://studio.appcues.com/flows/c5e8e106-35ac-4778-948c-8b66c20ecd1a/settings)\n  - Type: Flow\n  - Follow-up survey asking which content issue users are experiencing on the Library page.\n- [Find the right content - too difficult](https://studio.appcues.com/flows/6a35f56c-ed16-47e7-9242-73ad0e41cb27/settings)\n  - Type: Flow\n  - Triggered after the survey when users say lessons are **too difficult**; tours library filters and guided courses.\n- [Find the right content - too easy](https://studio.appcues.com/flows/b7dca8b4-7fbd-4a99-bfdf-0a6f3fe1fb20/settings)\n  - Type: Flow\n  - Triggered after the survey when users say lessons are **too easy**; guides them toward harder or broader content options.\n- [Find the right content - Other](https://studio.appcues.com/flows/5234e29b-5c7f-4aee-adf9-899ea56cb536/settings)\n  - Type: Flow\n  - Triggered after the survey when users select **Other**; collects open-ended feedback and tours discovery options.\n- [How to import content into LingQ](https://studio.appcues.com/flows/540a5634-0a57-4c6f-a663-fba6b9d728c8/settings)\n  - Type: Flow\n  - Library education flow explaining how to import outside content, with video and knowledge-base link.\n- [Share feedback](https://studio.appcues.com/flows/a47ea9fc-ba80-4f4e-a62d-4208bd7fe577/settings)\n  - Type: Flow\n  - Open-text feedback collection modal on the Library experience.\n- [Invite Friends flow for checklist](https://studio.appcues.com/flows/3eb987e5-92b3-4074-838a-e9d16dac4359/settings)\n  - Type: Flow\n  - Older checklist companion flow explaining referral sharing options on the referrals settings page.\n- [Vocabulary video for Checklist](https://studio.appcues.com/flows/42b0760a-571a-4a72-881a-420c5ee95aea/settings)\n  - Type: Flow\n  - Checklist companion modal promoting vocabulary review with video content.\n- [Listening video for Checklist](https://studio.appcues.com/flows/476ab5b7-897d-4d40-ac87-9e464880ed7f/settings)\n  - Type: Flow\n  - Checklist companion modal promoting listening and playlists with video content.\n\nI did not find any recently verified inactive **pins, banners, or checklists** in the prior inactivity review. This looks like a manageable backlog of older guidance content rather than a configuration mistake.",
        "outcomes" => ["activation", "engagement"],
        "priority" => "medium",
        "title" => "10 published experiences have had no activity for more than 30 days.",
        "type" => "issue"
      }
    ]
  },
  "notification_id" => "353a0702-93ee-4ab7-9625-d6dcff4e14a4",
  "workflow_key" => "insight-issue-added"
}

Meta

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

Errors

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