25360629 CustomerApi.Jobs.PublishNotificationJob
Queue notifications
Attempt 5 of 5
Priority 0
Tags ...
Node customer_api@10.10.1.214
Queue Time 00:00.305
Run Time 00:00.008
Inserted 2h ago
Scheduled 2h ago
Completed
Cancelled
Discarded 2h ago

Args

%{
  "account_id" => "89757",
  "data" => %{
    "account_insight_agent_id" => "cbc9586f-99f4-4037-a236-55e3d18e0ab9",
    "insights" => [
      %{
        "action_plan" => "Update the copy in this flow first, since it is a welcome experience and sets the tone for new users. After correcting the obvious spelling issues, do one pass for French grammar consistency across headings, bullets, and CTA buttons.",
        "actions" => [],
        "cta_text" => "Review flow copy",
        "entity_id" => "34079844-049e-4998-bb9c-05620b018c32",
        "entity_type" => "flow",
        "expected_impact" => "Cleaner first-run onboarding copy should improve trust and reduce distraction for new users, supporting activation and engagement.",
        "finding" => "The live flow **Bienvenue sur votre Cactusoft Construction** appears to contain several high-confidence typos and grammar issues in user-facing French copy.\n\nReview it here: [Bienvenue sur votre Cactusoft Construction](https://studio.appcues.com/flows/34079844-049e-4998-bb9c-05620b018c32/analytics)\n\nLikely issues:\n- **\"du logiciels\"** → likely **\"du logiciel\"**\n- **\"Laissez nous\"** → likely **\"Laissez-nous\"**\n- **\"plus facile\"** → likely **\"plus faciles\"**\n- **\"içi\"** → likely **\"ici\"**\n- **\"Allons y !\"** → likely **\"Allons-y !\"**\n- **\"une tâches\"** → likely **\"une tâche\"**\n- **\"d'arriver\"** → likely **\"d'arrivée\"**\n- **\"d'avantage\"** → likely **\"davantage\"**",
        "outcomes" => ["activation", "engagement"],
        "priority" => "high",
        "title" => "Welcome flow has multiple visible French typos",
        "type" => "issue"
      },
      %{
        "action_plan" => "Correct the verb forms in the opening modal and follow-up instructional step. Because this is a guided tutorial, preserving precise instructional language matters more than tone adjustments.",
        "actions" => [],
        "cta_text" => "Review flow copy",
        "entity_id" => "3c116e9b-cbda-4992-9254-b00b4e408205",
        "entity_type" => "flow",
        "expected_impact" => "Improves clarity in guided onboarding steps and reduces friction during tutorial completion.",
        "finding" => "The live flow **eg4.0 - Visualiser l'horaire comme un travailleur** has wording that looks incorrect for French infinitive/imperative usage.\n\nReview it here: [eg4.0 - Visualiser l'horaire comme un travailleur](https://studio.appcues.com/flows/3c116e9b-cbda-4992-9254-b00b4e408205/analytics)\n\nLikely issues:\n- **\"Voulez-vous visualisez l'horaire...\"** → likely **\"Voulez-vous visualiser l'horaire...\"**\n- **\"vous devez sélectionnez\"** → likely **\"vous devez sélectionner\"**",
        "outcomes" => ["activation", "engagement"],
        "priority" => "high",
        "title" => "Worker schedule tutorial repeats incorrect verb forms",
        "type" => "issue"
      },
      %{
        "action_plan" => "Standardize the instructional phrasing in this flow to use consistent imperative forms. Then compare the related follow-up flow to remove the same duplicated errors there as well.",
        "actions" => [],
        "cta_text" => "Review flow copy",
        "entity_id" => "6772a807-5b1c-4682-aece-3e37dcb2aa29",
        "entity_type" => "flow",
        "expected_impact" => "More polished instructional copy should make task guidance easier to follow and reduce perceived product rough edges.",
        "finding" => "The live flow **eg3.0 - Préparer l'horaire des travailleurs** contains recurring instructional copy issues that also appear in related scheduling guidance.\n\nReview it here: [eg3.0 - Préparer l'horaire des travailleurs](https://studio.appcues.com/flows/6772a807-5b1c-4682-aece-3e37dcb2aa29/analytics)\n\nLikely issues:\n- **\"Cliquer et glisser...\"** → likely **\"Cliquez et glissez...\"**\n- **\"vérouillez\"** → likely **\"verrouillez\"**\n- **\"Cliquer pour continuer.\"** → likely **\"Cliquez pour continuer.\"**",
        "outcomes" => ["activation", "engagement"],
        "priority" => "medium",
        "title" => "Scheduling flows reuse the same misspellings",
        "type" => "issue"
      },
      %{
        "action_plan" => "Make the same spelling and imperative-form fixes here that you apply in the main scheduling flow so users do not see inconsistent copy between related tutorials.",
        "actions" => [],
        "cta_text" => "Review flow copy",
        "entity_id" => "90486cad-a573-44cd-b700-73ed5a79db16",
        "entity_type" => "flow",
        "expected_impact" => "Creates a more consistent experience across the scheduling journey and improves comprehension.",
        "finding" => "The live flow **eg3.1 - Horaire des travailleurs suite** repeats several of the same copy issues found in the main worker-scheduling tutorial.\n\nReview it here: [eg3.1 - Horaire des travailleurs suite](https://studio.appcues.com/flows/90486cad-a573-44cd-b700-73ed5a79db16/analytics)\n\nLikely issues:\n- **\"Cliquer et glisser...\"** → likely **\"Cliquez et glissez...\"**\n- **\"vérouillez\"** → likely **\"verrouillez\"**\n- **\"Cliquer pour continuer.\"** → likely **\"Cliquez pour continuer.\"**",
        "outcomes" => ["activation", "engagement"],
        "priority" => "medium",
        "title" => "Follow-up scheduling flow duplicates known typos",
        "type" => "issue"
      },
      %{
        "action_plan" => "Correct the obvious spelling issue first, then review the longer explanatory sentence for grammar and readability. This flow is instructional, so shorter and cleaner copy would help.",
        "actions" => [],
        "cta_text" => "Review flow copy",
        "entity_id" => "025f10aa-41f3-4f79-b49f-0fde341e68c6",
        "entity_type" => "flow",
        "expected_impact" => "Reduces friction in an early setup tutorial and makes the instructions feel more credible.",
        "finding" => "The live flow **eg2.0 - Planifiez votre premier chantier** includes at least one clear spelling issue and one likely verb-form issue.\n\nReview it here: [eg2.0 - Planifiez votre premier chantier](https://studio.appcues.com/flows/025f10aa-41f3-4f79-b49f-0fde341e68c6/analytics)\n\nLikely issues:\n- **\"parmis\"** → likely **\"parmi\"**\n- **\"vous préparez en vue de la préparation d'horaire\"** → likely **\"vous préparer en vue de la préparation de l'horaire\"**",
        "outcomes" => ["activation", "engagement"],
        "priority" => "medium",
        "title" => "Project-planning tutorial has clear French spelling mistakes",
        "type" => "issue"
      },
      %{
        "action_plan" => "Clean up the grammar in the longer payroll guidance steps, especially where users are moving between verification stages. These are important trust-building instructions in a sensitive workflow.",
        "actions" => [],
        "cta_text" => "Review flow copy",
        "entity_id" => "618c7748-6b02-4acb-aaf5-648056d93f5e",
        "entity_type" => "flow",
        "expected_impact" => "Improves confidence and readability in a high-stakes payroll workflow, supporting engagement and continued adoption.",
        "finding" => "The live flow **eg9.0 - Préparer la paie - suite** contains a few likely French grammar issues in longer instructional sentences.\n\nReview it here: [eg9.0 - Préparer la paie - suite](https://studio.appcues.com/flows/618c7748-6b02-4acb-aaf5-648056d93f5e/analytics)\n\nLikely issues:\n- **\"Lorsque vous avez finis\"** → likely **\"Lorsque vous avez fini\"**\n- **\"Lorsque les chantiers ont été validé\"** → likely **\"Lorsque les chantiers ont été validés\"**",
        "outcomes" => ["adoption", "engagement"],
        "priority" => "medium",
        "title" => "Payroll tutorial includes tense and agreement errors",
        "type" => "issue"
      },
      %{
        "action_plan" => "Update the checklist item label so its verb form matches the other imperative checklist items. Then scan the remaining labels for consistency of style and conjugation.",
        "actions" => [],
        "cta_text" => "Review checklist label",
        "entity_id" => "-MYgt5uS3ddNPnjUoUMR",
        "entity_type" => "checklist",
        "expected_impact" => "Makes the checklist feel more polished and consistent, which can improve completion confidence.",
        "finding" => "The live checklist **Débuter votre essai gratuit** includes one item label that appears grammatically incorrect in French.\n\nReview it here: [Débuter votre essai gratuit](https://studio.appcues.com/checklists/-MYgt5uS3ddNPnjUoUMR/edit)\n\nLikely issue:\n- **\"Complétez et envoyer le rapport de chantier\"** → likely **\"Complétez et envoyez le rapport de chantier\"**",
        "outcomes" => ["activation", "engagement"],
        "priority" => "low",
        ...
      }
    ]
  },
  ...
}

Meta

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

Errors

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