You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(smartlead): remove the dead campaign field that could target the wrong campaign
Removing the campaign filters from list_lead_activities and list_inbox_replies
left their `activityCampaignId` subblock, its params mapping, and its inputs
entry behind. Two problems, the second serious:
- On those two operations the field promised campaign scoping the API cannot
do. Smartlead rejects every candidate key (`campaign_id`, `campaignId`,
`campaign_ids`, `email_campaign_id`), so the value was silently discarded and
account-wide results were reported as scoped.
- Worse, the field is `mode: 'advanced'`, and advanced subblocks serialize
without evaluating their condition. A value left over from listing activities
therefore fed `campaignId` on all 32 campaign operations through the
`params.campaignId || params.activityCampaignId` fallback. Configuring List
Lead Activities with campaign 111, then switching the block to Delete
Campaign and leaving Campaign ID blank, would have passed required-validation
and deleted campaign 111.
Both list tools now also say plainly that Smartlead exposes no campaign filter,
rather than advertising one in their descriptions.
Also: route mark_lead_complete's next-sequence id through the shared numeric
coercion, since Smartlead string-encodes numbers inconsistently and its sibling
field already arrives as a string; re-bind the two enum constants that lost
their last consumer so the literal descriptions cannot drift undetected; and
declare the 17 tool output keys the block was missing — `accounts` most
importantly, which is the entire payload of both email-account tools.
Copy file name to clipboardExpand all lines: apps/sim/lib/integrations/integrations.json
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
{
2
-
"updatedAt": "2026-08-06",
2
+
"updatedAt": "2026-08-07",
3
3
"integrations": [
4
4
{
5
5
"type": "onepassword",
@@ -17867,7 +17867,7 @@
17867
17867
},
17868
17868
{
17869
17869
"name": "List Lead Activities",
17870
-
"description": "Retrieves recent lead activity across Smartlead campaigns — opens, clicks, replies, and status changes."
17870
+
"description": "Retrieves recent lead activity across all Smartlead campaigns — opens, clicks, replies, and status changes. Smartlead exposes no campaign filter on this endpoint."
17871
17871
},
17872
17872
{
17873
17873
"name": "Get Lead by ID",
@@ -17891,7 +17891,7 @@
17891
17891
},
17892
17892
{
17893
17893
"name": "List Inbox Replies",
17894
-
"description": "Retrieves replies from the Smartlead master inbox, optionally limited to unread replies or a single campaign."
17894
+
"description": "Retrieves replies from the Smartlead master inbox across all campaigns, optionally limited to unread replies. Smartlead exposes no campaign filter on this endpoint."
'Retrieves replies from the Smartlead master inbox, optionally limited to unread replies or a single campaign.',
31
+
'Retrieves replies from the Smartlead master inbox across all campaigns, optionally limited to unread replies. Smartlead exposes no campaign filter on this endpoint.',
'Retrieves recent lead activity across Smartlead campaigns — opens, clicks, replies, and status changes.',
31
+
'Retrieves recent lead activity across all Smartlead campaigns — opens, clicks, replies, and status changes. Smartlead exposes no campaign filter on this endpoint.',
0 commit comments