25478765
CustomerApi.Jobs.PublishNotificationJob
Queue
notifications
Attempt
5 of 5
Priority
0
Tags
...
Node
customer_api@10.10.1.109
Queue Time
00:00.101
Run Time
00:00.071
Inserted
46m ago
Scheduled
44m ago
Completed
—
Cancelled
—
Discarded
44m ago
Args
%{
"account_id" => "106160",
"data" => %{
"account_insight_agent_id" => "62e3b1cf-db85-43c3-82f1-0205b271a4b3",
"insights" => [
%{
"action_plan" => "Rebuild the measurement layer before treating the Loops result as a reliable playbook:\n1. Start sending at least the core lifecycle and adoption events Appcues recommends, such as **Signed Up / First Login**, **Completed Onboarding**, and **Used [Key Feature]** \n2. Create Goals for the behaviors you actually want to influence: **adoption within 14 days** and **month-2 retention** \n3. Use a **control experiment** so you measure real lift instead of raw conversion alone ",
"actions" => [],
"cta_text" => "Review measurement gaps",
"entity_id" => nil,
"entity_type" => nil,
"expected_impact" => "Once tracking is restored, you can determine whether the Loops pattern produces real incremental lift in adoption and retention instead of relying on an external claim.",
"finding" => "The Loops pattern may be worth testing, but your Appcues account does **not currently have the measurement foundation** to confirm it.\n\n- **No event names have been tracked in the last 365 days**\n- The account was last seen on **2022-11-09**\n- Your enabled goals are not tied to **first login**, **feature adoption**, or **month-2 retention**\n\nThat matters because Appcues guidance is explicit: an implementation is **incomplete without event tracking**, and events are what power Goals, targeting, and analytics . Appcues also recommends attaching a Goal to every published experience so you can measure whether it drove the intended outcome .",
"outcomes" => ["activation", "adoption", "retention"],
"priority" => "high",
"title" => "You can’t validate the Loops retention claim in Appcues yet",
"type" => "issue"
},
%{
"action_plan" => "Retire or replace the current live banner strategy:\n1. Unpublish the stale legacy banner if it no longer serves a real product purpose\n2. Create a new onboarding-oriented experience aimed at **new users in their first 14 days** rather than a generic always-on page banner\n3. Attach a Goal so you can measure whether the experience drives the target action \n4. If the outcome is high-stakes, prefer a more action-oriented format like a short flow or checklist, since banners are typically weaker for conversion-oriented use cases ",
"actions" => [],
"cta_text" => "Audit live banner strategy",
"entity_id" => nil,
"entity_type" => "banner",
"expected_impact" => "Replacing irrelevant live content should improve message relevance and create a testable path toward activation and retention improvements.",
"finding" => "Your only published banner is **Sam Wedding**, shown on **samstuckless.ca/wedding.html**, set to **show every time**, with **no goals attached**. Its content is legacy announcement copy, not onboarding or adoption messaging.\n\nThis means your current banner setup is **not capable of testing** the Loops idea about showing banners during the first 14 days after login. Appcues' own benchmark data also says banners average only **0.32% CTR** and are best used for **FYIs, not critical conversions** .",
"outcomes" => ["activation", "adoption", "engagement", "retention"],
"priority" => "high",
"title" => "Your only live banner is unrelated to onboarding or retention",
"type" => "issue"
}
]
},
"notification_id" => "8518e079-7a0e-47a5-b657-a317b76348be",
"workflow_key" => "insight-issue-added"
}
Meta
%{"orig_scheduled_at" => 1777665386848028, "structured" => true}
Errors
Attempt 5—44m ago
** (Oban.PerformError) CustomerApi.Jobs.PublishNotificationJob failed with {:error, %Knock.Response{url: "https://api.knock.app/v1/workflows/insight-issue-added/trigger", body: %{"code" => "workflow_missing", "message" => "The workflow you specified was not found in this environment. Make sure you commit the workflow before trying to invoke it. See the docs: https://docs.knock.app/send-and-manage-data/environments", "status" => 404, "type" => "invalid_request_error"}, headers: [{"date", "Fri, 01 May 2026 19:58:01 GMT"}, {"content-type", "application/json; charset=utf-8"}, {"content-length", "278"}, {"connection", "keep-alive"}, {"access-control-allow-credentials", "true"}, {"access-control-allow-origin", "*"}, {"access-control-expose-headers", "authorization x-knock-user-token x-knock-environment"}, {"cache-control", "max-age=0, private, must-revalidate"}, {"x-content-type-options", "nosniff"}, {"x-frame-options", "SAMEORIGIN"}, {"x-request-id", "GKuJVjlPdA5z3jQCgW9D"}, {"x-xss-protection", "1; mode=block"}], status: 404}}
Attempt 4—45m ago
** (Oban.PerformError) CustomerApi.Jobs.PublishNotificationJob failed with {:error, %Knock.Response{url: "https://api.knock.app/v1/workflows/insight-issue-added/trigger", body: %{"code" => "workflow_missing", "message" => "The workflow you specified was not found in this environment. Make sure you commit the workflow before trying to invoke it. See the docs: https://docs.knock.app/send-and-manage-data/environments", "status" => 404, "type" => "invalid_request_error"}, headers: [{"date", "Fri, 01 May 2026 19:57:30 GMT"}, {"content-type", "application/json; charset=utf-8"}, {"content-length", "278"}, {"connection", "keep-alive"}, {"access-control-allow-credentials", "true"}, {"access-control-allow-origin", "*"}, {"access-control-expose-headers", "authorization x-knock-user-token x-knock-environment"}, {"cache-control", "max-age=0, private, must-revalidate"}, {"x-content-type-options", "nosniff"}, {"x-frame-options", "SAMEORIGIN"}, {"x-request-id", "GKuJTvdSIDXIEWMCgQ5G"}, {"x-xss-protection", "1; mode=block"}], status: 404}}
Attempt 3—45m ago
** (Oban.PerformError) CustomerApi.Jobs.PublishNotificationJob failed with {:error, %Knock.Response{url: "https://api.knock.app/v1/workflows/insight-issue-added/trigger", body: %{"code" => "workflow_missing", "message" => "The workflow you specified was not found in this environment. Make sure you commit the workflow before trying to invoke it. See the docs: https://docs.knock.app/send-and-manage-data/environments", "status" => 404, "type" => "invalid_request_error"}, headers: [{"date", "Fri, 01 May 2026 19:57:07 GMT"}, {"content-type", "application/json; charset=utf-8"}, {"content-length", "278"}, {"connection", "keep-alive"}, {"access-control-allow-credentials", "true"}, {"access-control-allow-origin", "*"}, {"access-control-expose-headers", "authorization x-knock-user-token x-knock-environment"}, {"cache-control", "max-age=0, private, must-revalidate"}, {"x-content-type-options", "nosniff"}, {"x-frame-options", "SAMEORIGIN"}, {"x-request-id", "GKuJSZUaki411rACrdpk"}, {"x-xss-protection", "1; mode=block"}], status: 404}}
Attempt 2—46m ago
** (Oban.PerformError) CustomerApi.Jobs.PublishNotificationJob failed with {:error, %Knock.Response{url: "https://api.knock.app/v1/workflows/insight-issue-added/trigger", body: %{"code" => "workflow_missing", "message" => "The workflow you specified was not found in this environment. Make sure you commit the workflow before trying to invoke it. See the docs: https://docs.knock.app/send-and-manage-data/environments", "status" => 404, "type" => "invalid_request_error"}, headers: [{"date", "Fri, 01 May 2026 19:56:46 GMT"}, {"content-type", "application/json; charset=utf-8"}, {"content-length", "278"}, {"connection", "keep-alive"}, {"access-control-allow-credentials", "true"}, {"access-control-allow-origin", "*"}, {"access-control-expose-headers", "authorization x-knock-user-token x-knock-environment"}, {"cache-control", "max-age=0, private, must-revalidate"}, {"x-content-type-options", "nosniff"}, {"x-frame-options", "SAMEORIGIN"}, {"x-request-id", "GKuJRLI5UJKr_foCrdMF"}, {"x-xss-protection", "1; mode=block"}], status: 404}}
Attempt 1—46m ago
** (Oban.PerformError) CustomerApi.Jobs.PublishNotificationJob failed with {:error, %Knock.Response{url: "https://api.knock.app/v1/workflows/insight-issue-added/trigger", body: %{"code" => "workflow_missing", "message" => "The workflow you specified was not found in this environment. Make sure you commit the workflow before trying to invoke it. See the docs: https://docs.knock.app/send-and-manage-data/environments", "status" => 404, "type" => "invalid_request_error"}, headers: [{"date", "Fri, 01 May 2026 19:56:27 GMT"}, {"content-type", "application/json; charset=utf-8"}, {"content-length", "278"}, {"connection", "keep-alive"}, {"access-control-allow-credentials", "true"}, {"access-control-allow-origin", "*"}, {"access-control-expose-headers", "authorization x-knock-user-token x-knock-environment"}, {"cache-control", "max-age=0, private, must-revalidate"}, {"x-content-type-options", "nosniff"}, {"x-frame-options", "SAMEORIGIN"}, {"x-request-id", "GKuJQEGNnjKH3BwCrI_E"}, {"x-xss-protection", "1; mode=block"}], status: 404}}