Skip to content

feat(workflows): hold capped messages until a frequency cap slot frees - #127579

Merged
trunk-io[bot] merged 3 commits into
posthog/workflows-frequency-cap-hold-settingfrom
posthog/workflows-frequency-cap-hold
Nov 3, 2026
Merged

trunk-io[bot] merged 3 commits into
posthog/workflows-frequency-cap-hold-settingfrom
posthog/workflows-frequency-cap-hold

Conversation

@mayteio

@mayteio mayteio commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Problem

  • Teams moving onboarding sequences into Workflows lose emails to the marketing frequency cap, because a capped send is skipped at once.

Changes

  • With a hold time set (setting in #127592), a capped message waits for a free slot instead of being skipped.
  • Each wake re-checks the cap atomically. The step skips once the hold ends.
  • A new message_frequency_cap_held metric counts each held send once.

Note

Held messages do not queue in order.

How did you test this code?

  • Local stack: a capped email was held, then sent after its slot freed. Details below.
  • Not run: a real cap window passing.

Test rationale: A new handler test covers hold, then skip at the deadline. The cap service tests assert the next slot time.

Local stack run
  • Cap set to 1 per day with a 2-hour hold through the sending rules API. The workflow had two marketing emails.
  • The first email took the slot. The second logged Holding send until <now+2h>: the recipient is at the frequency cap.
  • After the first slot was removed from Valkey and the job woken, the second email passed the cap and went to the send path.
  • message_frequency_cap_held was 1, and the slot moved to the second email.

Release status

  • No feature flag controls this change

Docs update

  • None.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Agent: Claude Code, claude-opus-5-5

Skills: /django-migrations, /improving-drf-endpoints, /writing-tests, /writing-user-facing-copy, /writing-pr-descriptions

More context for AI agents
  • Session: PostHog Desktop cloud task, Customer.io to Workflows cutover.
  • Decisions: Hold is opt-in per project, so existing teams see no change.
  • Decisions: Jitter of up to 60s spreads wakes for one person.
  • Decisions: Split into a stack because CI blocks migrations and Node changes in one PR.
  • Follow-ups: A per-person queue so held messages send in order. Metrics summary UI for the held metric.
  • Read closely: frequencyCapHold in hog_function.ts, and the Lua script in recipient-preferences.service.ts.

Created with PostHog Desktop from a PostHog Desktop task

🤖 Generated with Claude Code

@mayteio mayteio self-assigned this Nov 2, 2026
@trunk-io

trunk-io Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

😎 Stack merged successfully - details.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

🤖 CI report

⚠️ Trunk lane — backend Python lane, mixes lanes

This PR is assigned to the backend Python lane. It runs backend Python tests and may merge in parallel with PRs in other lanes.

This PR changes Python or frontend code (frontend/src/generated/core/api.schemas.ts, frontend/src/scenes/settings/SettingsMap.tsx, frontend/src/types.ts and 13 more) and Node or Rust code (nodejs/src/cdp/services/hogflows/actions/hog_function.test.ts, nodejs/src/cdp/services/hogflows/actions/hog_function.ts, nodejs/src/cdp/services/managers/team-workflows-config.service.ts and 3 more) together. In the merge queue, every Node or Rust PR behind it in the same lane then runs the Django and frontend suites too, so the cross-lane check fails. Split it, or add the cross-lane-change label if the halves must land together.

⚠️ Complexity (TypeScript) — 2 functions above the limit (max 15)

Cyclomatic complexity above the limit in changed typescript files (10 for production files, 15 for test files). Warn only: worth simplifying when you next touch these functions.

Function Location Complexity Limit
<anonymous> products/workflows/frontend/Workflows/workflowMetricsSummaryLogic.ts:1598 15 10
WorkflowsFrequencyCapSettings products/workflows/frontend/scenes/settings/WorkflowsFrequencyCapSettings.tsx:21 12 10
⚠️ Duplication (Python) — 878 new duplicated blocks (worst 311 tokens)

New Python code duplication introduced by this branch. Fails at 70+ tokens in app code, or 150+ tokens when both copies live in test files. Advisory while the gate proves itself: extract a shared helper instead of copying.

First copy Second copy Lines Tokens
products/warehouse_sources/sources/breezometer/breezometer.py:42 products/warehouse_sources/sources/openweather/openweather.py:39 57 311
products/warehouse_sources/backend/temporal/data_imports/sources/baserow/baserow.py:84 products/warehouse_sources/sources/medusa/medusa.py:98 43 297
products/warehouse_sources/sources/aha/tests/test_aha.py:22 products/warehouse_sources/sources/aha_ideas/tests/test_aha_ideas.py:25 48 294
products/warehouse_sources/sources/impact/impact.py:94 products/warehouse_sources/sources/impact_partner/impact_partner.py:73 38 261
products/warehouse_sources/sources/aha/aha.py:40 products/warehouse_sources/sources/aha_ideas/aha_ideas.py:36 37 238
products/warehouse_sources/backend/temporal/data_imports/sources/linkedin_ads/linkedin_ads.py:142 products/warehouse_sources/sources/google_analytics/google_analytics.py:79 26 220
products/warehouse_sources/sources/datahub/datahub.py:110 products/warehouse_sources/sources/discourse/discourse.py:63 33 213
products/batch_exports/backend/temporal/destinations/redshift_batch_export.py:1237 products/batch_exports/backend/temporal/destinations/redshift_batch_export.py:1754 36 212
products/warehouse_sources/sources/adjust/adjust.py:250 products/warehouse_sources/sources/tenjin/tenjin.py:47 31 176
products/warehouse_sources/backend/temporal/data_imports/sources/snowflake/snowflake.py:399 products/warehouse_sources/sources/databricks/databricks.py:291 28 171
products/warehouse_sources/sources/aws_cost_anomaly_detection/aws_cost_anomaly_detection.py:221 products/warehouse_sources/sources/aws_cost_explorer/aws_cost_explorer.py:317 35 171
products/warehouse_sources/sources/invoiceninja/invoiceninja.py:118 products/warehouse_sources/sources/pretix/pretix.py:90 30 170
products/warehouse_sources/sources/aws_budgets/aws_budgets.py:128 products/warehouse_sources/sources/aws_ses/aws_ses.py:117 17 169
products/warehouse_sources/sources/aws_budgets/aws_budgets.py:246 products/warehouse_sources/sources/aws_cost_anomaly_detection/aws_cost_anomaly_detection.py:184 22 164
products/warehouse_sources/sources/aws_budgets/aws_budgets.py:246 products/warehouse_sources/sources/aws_cost_explorer/aws_cost_explorer.py:280 22 164
products/warehouse_sources/sources/dockerhub/tests/test_dockerhub.py:205 products/warehouse_sources/sources/ubidots/tests/test_ubidots.py:206 18 162
products/warehouse_sources/sources/thinkific/canonical_descriptions.py:58 products/warehouse_sources/sources/thinkific_courses/canonical_descriptions.py:82 47 161
products/warehouse_sources/sources/amazon_ads/source.py:66 products/warehouse_sources/sources/amazon_selling_partner/source.py:169 39 159
products/warehouse_sources/backend/temporal/data_imports/sources/conftest.py:14 products/warehouse_sources/sources/conftest.py:33 19 157
products/warehouse_sources/sources/appsflyer/appsflyer.py:69 products/warehouse_sources/sources/gladly/gladly.py:98 22 156
products/warehouse_sources/sources/impact/impact.py:159 products/warehouse_sources/sources/impact_partner/impact_partner.py:120 29 156
products/warehouse_sources/sources/openai/openai.py:62 products/warehouse_sources/sources/openai_ads/openai_ads.py:83 26 156
products/warehouse_sources/sources/mixpanel/mixpanel.py:60 products/warehouse_sources/sources/writesonic/writesonic.py:46 29 148
products/warehouse_sources/sources/cody/source.py:106 products/warehouse_sources/sources/surveymonkey/source.py:118 22 144
products/warehouse_sources/sources/freshcaller/freshcaller.py:105 products/warehouse_sources/sources/fulcrum/fulcrum.py:98 25 144
products/warehouse_sources/sources/freshcaller/freshcaller.py:105 products/warehouse_sources/sources/hellobaton/hellobaton.py:63 25 144
products/warehouse_sources/sources/hatchet/hatchet.py:164 products/warehouse_sources/sources/langsmith/langsmith.py:252 19 144
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/dynamodb/source.py:85 39 141
products/warehouse_sources/sources/cody/source.py:106 products/warehouse_sources/sources/terraform_cloud/source.py:100 22 141
products/warehouse_sources/sources/babelforce/babelforce.py:172 products/warehouse_sources/sources/onfleet/onfleet.py:48 16 137
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_athena/source.py:100 38 136
products/batch_exports/backend/temporal/destinations/databricks_batch_export.py:1336 products/batch_exports/backend/temporal/destinations/snowflake_batch_export.py:1503 30 135
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/instatus/source.py:84 24 134
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/pganalyze/source.py:46 24 134
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/plain/source.py:118 24 134
products/warehouse_sources/sources/stigg/stigg.py:73 products/warehouse_sources/sources/tickettailor/tickettailor.py:103 32 134
products/warehouse_sources/sources/lattice/lattice.py:47 products/warehouse_sources/sources/pipeliner/pipeliner.py:58 20 132
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/formbricks/source.py:118 23 131
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/pipeliner/source.py:120 23 131
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/wordpress/source.py:143 23 131
products/warehouse_sources/sources/aws_sagemaker/source.py:146 products/warehouse_sources/sources/aws_systems_manager/source.py:121 35 131
products/warehouse_sources/sources/back_market/back_market.py:75 products/warehouse_sources/sources/tavus/tavus.py:73 21 131
products/warehouse_sources/sources/finnhub/source.py:64 products/warehouse_sources/sources/kubecost/source.py:97 22 131
products/warehouse_sources/sources/appfollow/appfollow.py:108 products/warehouse_sources/sources/perigon/perigon.py:87 27 130
products/warehouse_sources/backend/temporal/data_imports/sources/mailgun/mailgun.py:127 products/warehouse_sources/sources/pingdom/pingdom.py:43 15 129
products/warehouse_sources/sources/babelforce/babelforce.py:172 products/warehouse_sources/sources/onepagecrm/onepagecrm.py:43 15 129
products/warehouse_sources/sources/formbricks/formbricks.py:77 products/warehouse_sources/sources/octopus_deploy/octopus_deploy.py:88 18 128
products/warehouse_sources/sources/salesflare/salesflare.py:86 products/warehouse_sources/sources/svix/svix.py:139 26 127
products/warehouse_sources/sources/active_campaign/source.py:104 products/warehouse_sources/sources/asknicely/source.py:96 24 126
products/warehouse_sources/sources/active_campaign/source.py:104 products/warehouse_sources/sources/chargify/source.py:75 24 126
products/warehouse_sources/sources/active_campaign/source.py:104 products/warehouse_sources/sources/coinmarketcap/source.py:94 24 126
products/warehouse_sources/sources/active_campaign/source.py:104 products/warehouse_sources/sources/klaus/source.py:100 24 126
products/warehouse_sources/sources/datahub/datahub.py:103 products/warehouse_sources/sources/unleash/unleash.py:69 18 126
products/warehouse_sources/sources/datahub/datahub.py:120 products/warehouse_sources/sources/unleash/unleash.py:86 24 126
products/warehouse_sources/sources/thinkific/source.py:52 products/warehouse_sources/sources/thinkific_courses/source.py:57 35 126
products/warehouse_sources/sources/aha/aha.py:291 products/warehouse_sources/sources/aha_ideas/aha_ideas.py:257 23 125
products/warehouse_sources/sources/awin/awin.py:174 products/warehouse_sources/sources/impact/impact.py:99 17 125
products/warehouse_sources/backend/temporal/data_imports/sources/google_search_console/google_search_console.py:364 products/warehouse_sources/sources/google_analytics/google_analytics.py:184 14 124
products/warehouse_sources/sources/appsignal/appsignal.py:59 products/warehouse_sources/sources/babelforce/babelforce.py:172 15 124
products/warehouse_sources/sources/coolify/coolify.py:262 products/warehouse_sources/sources/digitalocean/digitalocean.py:50 18 124
products/warehouse_sources/sources/dixa/dixa.py:70 products/warehouse_sources/sources/onfleet/onfleet.py:50 18 124
products/warehouse_sources/sources/codecov/source.py:155 products/warehouse_sources/sources/northflank/source.py:55 24 123
products/warehouse_sources/sources/hubplanner/hubplanner.py:60 products/warehouse_sources/sources/mux/mux.py:92 20 123
products/warehouse_sources/sources/aha/aha.py:161 products/warehouse_sources/sources/aha_ideas/aha_ideas.py:144 27 122
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_iam_access_analyzer/source.py:129 33 122
products/warehouse_sources/sources/appdynamics/source.py:127 products/warehouse_sources/sources/jamf_pro/source.py:112 37 121
products/warehouse_sources/sources/browser_use/browser_use.py:205 products/warehouse_sources/sources/deel/deel.py:126 17 121
products/warehouse_sources/sources/openai/openai.py:95 products/warehouse_sources/sources/openai_ads/openai_ads.py:112 18 121
products/warehouse_sources/sources/news_api/news_api.py:81 products/warehouse_sources/sources/sendowl/sendowl.py:61 19 120
products/warehouse_sources/sources/oncehub/oncehub.py:72 products/warehouse_sources/sources/semgrep/semgrep.py:116 17 120
products/warehouse_sources/backend/temporal/data_imports/sources/mailgun/source.py:191 products/warehouse_sources/sources/orb/source.py:88 30 119
products/warehouse_sources/backend/temporal/data_imports/sources/mailgun/source.py:191 products/warehouse_sources/sources/solarwinds_service_desk/source.py:124 30 119
products/warehouse_sources/sources/aws_ses/source.py:161 products/warehouse_sources/sources/aws_systems_manager/source.py:124 33 119
products/warehouse_sources/sources/copper/copper.py:98 products/warehouse_sources/sources/uptimerobot/uptimerobot.py:96 18 119
products/warehouse_sources/sources/partnerize/partnerize.py:93 products/warehouse_sources/sources/roark/roark.py:104 20 119
products/warehouse_sources/sources/pagerduty/pagerduty.py:124 products/warehouse_sources/sources/partnerize/partnerize.py:94 19 118
products/demo/backend/logic/products/hedgebox/matrix.py:281 products/demo/backend/logic/products/spikegpt/matrix.py:29 33 117
products/warehouse_sources/backend/temporal/data_imports/sources/sentry/source.py:424 products/warehouse_sources/sources/fillout/source.py:105 26 117
products/warehouse_sources/sources/aha_ideas/aha_ideas.py:92 products/warehouse_sources/sources/reverb/reverb.py:91 17 117
products/warehouse_sources/sources/confluent_cloud/confluent_cloud.py:70 products/warehouse_sources/sources/klaus/klaus.py:140 15 117
products/warehouse_sources/backend/temporal/data_imports/sources/sharepoint/sharepoint.py:123 products/warehouse_sources/sources/power_bi_admin/power_bi_admin.py:89 21 116
products/warehouse_sources/backend/temporal/data_imports/sources/woocommerce/woocommerce.py:230 products/warehouse_sources/sources/maxio/maxio.py:90 18 116
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:132 products/warehouse_sources/sources/granola/granola.py:265 27 116
products/warehouse_sources/sources/smartwaiver/smartwaiver.py:98 products/warehouse_sources/sources/smartwaiver/smartwaiver.py:143 20 116
products/warehouse_sources/sources/amazon_cloudwatch/amazon_cloudwatch.py:360 products/warehouse_sources/sources/aws_athena/athena.py:165 14 115
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/codacy/source.py:108 24 115
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/digitalocean/source.py:72 24 115
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/frill/source.py:86 24 115
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/kandji/source.py:61 24 115
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/launchdarkly/source.py:263 24 115
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/split_io/source.py:170 24 115
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/zoom/source.py:121 24 115
products/warehouse_sources/sources/elevenlabs/elevenlabs.py:136 products/warehouse_sources/sources/lattice/lattice.py:50 17 115
products/warehouse_sources/sources/freshcaller/freshcaller.py:111 products/warehouse_sources/sources/news_api/news_api.py:83 17 115
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:91 products/warehouse_sources/sources/nocrm/nocrm.py:80 13 114
products/warehouse_sources/sources/demodesk/demodesk.py:79 products/warehouse_sources/sources/spotlercrm/spotlercrm.py:58 18 114
products/warehouse_sources/sources/eventbrite/eventbrite.py:243 products/warehouse_sources/sources/pretix/pretix.py:314 25 114
products/warehouse_sources/sources/freshcaller/freshcaller.py:68 products/warehouse_sources/sources/sendowl/sendowl.py:41 16 114
products/warehouse_sources/backend/temporal/data_imports/sources/mailgun/source.py:191 products/warehouse_sources/sources/jotform/source.py:128 26 113
products/warehouse_sources/sources/adyen/adyen.py:120 products/warehouse_sources/sources/checkout_com/payments.py:229 15 113
products/warehouse_sources/sources/argocd/argocd.py:94 products/warehouse_sources/sources/sonatype_nexus/sonatype_nexus.py:67 17 113
products/warehouse_sources/sources/drip/drip.py:78 products/warehouse_sources/sources/humanitix/humanitix.py:88 17 113
products/warehouse_sources/sources/eventbrite/source.py:81 products/warehouse_sources/sources/pretix/source.py:117 24 113
products/warehouse_sources/sources/beamer/beamer.py:50 products/warehouse_sources/sources/rss/rss.py:58 15 112
products/warehouse_sources/sources/drip/drip.py:78 products/warehouse_sources/sources/float_app/float_app.py:92 14 112
products/warehouse_sources/sources/elevenlabs/elevenlabs.py:157 products/warehouse_sources/sources/lattice/lattice.py:76 18 112
products/warehouse_sources/sources/justsift/justsift.py:123 products/warehouse_sources/sources/thinkific/thinkific.py:121 24 112
products/warehouse_sources/sources/sentinelone/sentinelone.py:202 products/warehouse_sources/sources/tickettailor/tickettailor.py:70 18 112
products/warehouse_sources/backend/temporal/data_imports/sources/azure_log_analytics/azure_log_analytics.py:188 products/warehouse_sources/sources/azure_cost_management/azure_cost_management.py:315 15 111
products/warehouse_sources/backend/temporal/data_imports/sources/chatwoot/chatwoot.py:126 products/warehouse_sources/sources/formbricks/formbricks.py:123 17 111
products/warehouse_sources/backend/temporal/data_imports/sources/common/rest_source/paginators.py:142 products/warehouse_sources/sources/aircall/aircall.py:204 20 111
products/warehouse_sources/backend/temporal/data_imports/sources/mailgun/mailgun.py:128 products/warehouse_sources/sources/aircall/aircall.py:55 13 111
products/warehouse_sources/backend/temporal/data_imports/sources/mailgun/mailgun.py:128 products/warehouse_sources/sources/appsignal/appsignal.py:61 11 111
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_cost_anomaly_detection/source.py:151 31 111
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_organizations/source.py:155 31 111
products/warehouse_sources/sources/awin/awin.py:177 products/warehouse_sources/sources/dbt/dbt.py:344 15 111
products/warehouse_sources/sources/my_hours/my_hours.py:207 products/warehouse_sources/sources/salesflare/salesflare.py:95 19 111
products/warehouse_sources/sources/qualaroo/qualaroo.py:154 products/warehouse_sources/sources/rentcast/rentcast.py:136 27 111
products/warehouse_sources/backend/temporal/data_imports/sources/motherduck/motherduck.py:190 products/warehouse_sources/sources/databricks/databricks.py:144 13 110
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_cost_and_usage_report/source.py:167 31 110
products/warehouse_sources/sources/canvas_lms/canvas_lms.py:296 products/warehouse_sources/sources/thinkific_courses/thinkific_courses.py:119 17 110
products/warehouse_sources/sources/elevenlabs/elevenlabs.py:161 products/warehouse_sources/sources/pipeliner/pipeliner.py:92 14 110
products/batch_exports/backend/temporal/destinations/databricks_batch_export.py:1336 products/batch_exports/backend/temporal/destinations/postgres_batch_export.py:992 22 109
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/source.py:106 products/warehouse_sources/sources/elasticsearch/source.py:129 38 109
products/warehouse_sources/sources/attio/attio.py:44 products/warehouse_sources/sources/attio/attio.py:78 16 109
products/warehouse_sources/sources/aws_guardduty/aws_guardduty.py:132 products/warehouse_sources/sources/aws_macie/aws_macie.py:93 16 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/flexmail/source.py:92 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/google_webfonts/source.py:90 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/height/source.py:85 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/jellyfish/source.py:81 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/judgeme_reviews/source.py:95 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/luma/source.py:100 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/mention/source.py:88 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/oncehub/source.py:82 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/optimizely/source.py:131 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/pabbly_subscriptions_billing/source.py:93 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/partnerstack/source.py:94 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/paystack/source.py:88 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/printify/source.py:83 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/rocketlane/source.py:86 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/sage_hr/source.py:98 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/smaily/source.py:102 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/svix/source.py:91 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/unleash/source.py:178 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/vultr/source.py:69 28 108
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/wrike/source.py:93 28 108
products/warehouse_sources/sources/grafana/grafana.py:355 products/warehouse_sources/sources/instana/instana.py:149 12 108
products/warehouse_sources/sources/runpod/runpod.py:63 products/warehouse_sources/sources/vercel/vercel.py:374 12 108
products/warehouse_sources/sources/aws_organizations/aws_organizations.py:130 products/warehouse_sources/sources/aws_ses/aws_ses.py:146 15 107
products/warehouse_sources/sources/aws_sagemaker/source.py:146 products/warehouse_sources/sources/aws_step_functions/source.py:117 29 107
products/warehouse_sources/sources/freshcaller/freshcaller.py:111 products/warehouse_sources/sources/semgrep/semgrep.py:66 14 107
products/warehouse_sources/sources/planhat/planhat.py:49 products/warehouse_sources/sources/qualaroo/qualaroo.py:156 25 107
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_cost_explorer/source.py:147 30 106
products/batch_exports/backend/temporal/destinations/azure_blob_batch_export.py:351 products/batch_exports/backend/temporal/destinations/bigquery_batch_export.py:1546 21 105
products/warehouse_sources/backend/temporal/data_imports/sources/sharepoint/source.py:236 products/warehouse_sources/sources/azure_cost_management/source.py:78 30 105
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:136 products/warehouse_sources/sources/freshservice/freshservice.py:118 23 105
products/warehouse_sources/sources/codecov/codecov.py:180 products/warehouse_sources/sources/nebius_ai/nebius_ai.py:99 15 105
products/warehouse_sources/sources/codecov/codecov.py:180 products/warehouse_sources/sources/replicate/replicate.py:94 15 105
products/warehouse_sources/sources/codecov/codecov.py:180 products/warehouse_sources/sources/trigger_dev/trigger_dev.py:118 15 105
products/warehouse_sources/sources/gitguardian/gitguardian.py:342 products/warehouse_sources/sources/trigger_dev/trigger_dev.py:400 24 105
products/warehouse_sources/backend/temporal/data_imports/sources/snowflake/snowflake.py:156 products/warehouse_sources/sources/databricks/databricks.py:171 12 104
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/campfire/campfire.py:212 15 104
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/chartmogul/chartmogul.py:207 15 104
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/convertkit/convertkit.py:223 15 104
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/fleetio/fleetio.py:288 15 104
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/freshservice/freshservice.py:163 15 104
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/fulcrum/fulcrum.py:174 15 104
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/humanitix/humanitix.py:233 15 104
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/smartlead/smartlead.py:151 15 104
products/warehouse_sources/sources/aws_cost_anomaly_detection/aws_cost_anomaly_detection.py:109 products/warehouse_sources/sources/aws_cost_explorer/aws_cost_explorer.py:107 17 104
products/warehouse_sources/sources/aws_iam_access_analyzer/source.py:129 products/warehouse_sources/sources/aws_waf/source.py:135 28 104
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/hellobaton/hellobaton.py:154 25 104
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/zenloop/zenloop.py:103 25 104
products/warehouse_sources/sources/gerrit/gerrit.py:77 products/warehouse_sources/sources/omni/omni.py:57 16 104
products/warehouse_sources/sources/justsift/justsift.py:123 products/warehouse_sources/sources/stack_overflow_for_teams/stack_overflow_for_teams.py:109 24 104
products/warehouse_sources/sources/aws_sagemaker/source.py:146 products/warehouse_sources/sources/aws_security_hub/source.py:136 28 103
products/warehouse_sources/sources/bitrise/source.py:109 products/warehouse_sources/sources/snowplow/source.py:219 23 103
products/warehouse_sources/sources/cody/source.py:106 products/warehouse_sources/sources/square/source.py:126 14 103
products/warehouse_sources/sources/simplesat/simplesat.py:94 products/warehouse_sources/sources/smartreach/smartreach.py:109 22 103
products/warehouse_sources/backend/temporal/data_imports/sources/okta/okta.py:74 products/warehouse_sources/sources/sentinelone/sentinelone.py:62 15 102
products/warehouse_sources/sources/adyen/adyen.py:437 products/warehouse_sources/sources/adyen/adyen.py:461 17 102
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/tavus/tavus.py:141 25 102
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:136 products/warehouse_sources/sources/canvas_lms/canvas_lms.py:298 15 101
products/warehouse_sources/backend/temporal/data_imports/sources/sharepoint/source.py:236 products/warehouse_sources/sources/power_bi_admin/source.py:151 28 101
products/warehouse_sources/sources/aha/aha.py:214 products/warehouse_sources/sources/cal_com/cal_com.py:378 15 101
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_sagemaker/source.py:147 28 101
products/warehouse_sources/sources/aws_sagemaker/source.py:146 products/warehouse_sources/sources/aws_savings_plans/source.py:127 27 101
products/warehouse_sources/sources/beamer/beamer.py:204 products/warehouse_sources/sources/rss/rss.py:149 18 101
products/warehouse_sources/sources/canny/canny.py:223 products/warehouse_sources/sources/churnkey/churnkey.py:86 24 101
products/warehouse_sources/sources/rippling/rippling.py:192 products/warehouse_sources/sources/simplesat/simplesat.py:115 22 101
products/warehouse_sources/sources/rippling/rippling.py:192 products/warehouse_sources/sources/zendesk_sell/zendesk_sell.py:154 22 101
products/warehouse_sources/sources/simplesat/simplesat.py:95 products/warehouse_sources/sources/workable/workable.py:241 21 101
products/warehouse_sources/sources/who_gho/who_gho.py:41 products/warehouse_sources/sources/world_bank/world_bank.py:52 16 101
products/warehouse_sources/sources/who_gho/who_gho.py:146 products/warehouse_sources/sources/who_gho/who_gho.py:195 15 101
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_config/source.py:137 27 100
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/hitpay/hitpay.py:195 25 100
products/warehouse_sources/sources/better_stack/better_stack.py:56 products/warehouse_sources/sources/folk/folk.py:58 15 100
products/warehouse_sources/sources/browser_use/browser_use.py:183 products/warehouse_sources/sources/deel/deel.py:101 12 100
products/warehouse_sources/sources/chartmogul/chartmogul.py:86 products/warehouse_sources/sources/oncehub/oncehub.py:76 14 100
products/warehouse_sources/sources/drata/drata.py:178 products/warehouse_sources/sources/stigg/stigg.py:82 21 100
products/warehouse_sources/sources/orca_security/orca_security.py:220 products/warehouse_sources/sources/polymarket/polymarket.py:109 27 100
products/batch_exports/backend/temporal/destinations/azure_blob_batch_export.py:350 products/batch_exports/backend/temporal/destinations/s3_batch_export.py:761 22 99
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/float_app/float_app.py:316 25 99
products/warehouse_sources/sources/cody/source.py:106 products/warehouse_sources/sources/copper/source.py:56 13 99
products/warehouse_sources/sources/gusto/source.py:84 products/warehouse_sources/sources/workday/source.py:88 31 99
products/warehouse_sources/sources/rippling/rippling.py:192 products/warehouse_sources/sources/tempo/tempo.py:163 22 99
products/warehouse_sources/backend/temporal/data_imports/sources/okta/okta.py:74 products/warehouse_sources/sources/katana/katana.py:48 14 98
products/warehouse_sources/backend/temporal/data_imports/sources/okta/okta.py:74 products/warehouse_sources/sources/metorial/metorial.py:42 14 98
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_glue_data_catalog/source.py:131 27 98
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_guardduty/source.py:120 27 98
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_inspector/source.py:140 27 98
products/warehouse_sources/sources/aws_iam_access_analyzer/aws_iam_access_analyzer.py:119 products/warehouse_sources/sources/aws_macie/aws_macie.py:103 14 98
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/zonka_feedback/zonka_feedback.py:257 21 98
products/warehouse_sources/sources/datahub/datahub.py:120 products/warehouse_sources/sources/dynatrace/dynatrace.py:88 21 98
products/warehouse_sources/sources/elevenlabs/elevenlabs.py:161 products/warehouse_sources/sources/zuora/zuora.py:106 14 98
products/warehouse_sources/sources/hubplanner/hubplanner.py:220 products/warehouse_sources/sources/sonar_cloud/sonar_cloud.py:157 24 98
products/warehouse_sources/sources/shopify/queries/discount_nodes.py:40 products/warehouse_sources/sources/shopify/queries/discount_nodes.py:129 26 98
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:138 products/warehouse_sources/sources/aha/aha.py:216 13 97
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:138 products/warehouse_sources/sources/front/front.py:174 13 97
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:138 products/warehouse_sources/sources/granola/granola.py:193 13 97
products/warehouse_sources/backend/temporal/data_imports/sources/okta/okta.py:74 products/warehouse_sources/sources/jamf_pro/jamf_pro.py:178 11 97
products/warehouse_sources/backend/temporal/data_imports/sources/okta/okta.py:75 products/warehouse_sources/sources/infisical/infisical.py:134 13 97
products/warehouse_sources/backend/temporal/data_imports/sources/salesforce/source.py:210 products/warehouse_sources/sources/env0/source.py:90 15 97
products/warehouse_sources/sources/aviator/aviator.py:70 products/warehouse_sources/sources/pulumi_cloud/pulumi_cloud.py:91 17 97
products/warehouse_sources/sources/blogger/blogger.py:35 products/warehouse_sources/sources/nocrm/nocrm.py:68 12 97
products/warehouse_sources/sources/codefresh/codefresh.py:122 products/warehouse_sources/sources/jumpcloud/jumpcloud.py:159 13 97
products/warehouse_sources/sources/codemagic/codemagic.py:233 products/warehouse_sources/sources/courier/courier.py:239 13 97
products/warehouse_sources/sources/cronitor/cronitor.py:480 products/warehouse_sources/sources/openrouter/openrouter.py:441 20 97
products/warehouse_sources/sources/cronitor/cronitor.py:480 products/warehouse_sources/sources/squarespace/squarespace.py:240 20 97
products/warehouse_sources/sources/hetzner/hetzner.py:127 products/warehouse_sources/sources/opsgenie/opsgenie.py:301 27 97
products/warehouse_sources/sources/hetzner/hetzner.py:127 products/warehouse_sources/sources/xmatters/xmatters.py:306 24 97
products/warehouse_sources/sources/safetyculture/safetyculture.py:224 products/warehouse_sources/sources/smartreach/smartreach.py:130 24 97
products/warehouse_sources/sources/tvmaze/tvmaze.py:77 products/warehouse_sources/sources/watchmode/watchmode.py:114 19 97
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_cloudtrail/source.py:148 26 96
products/warehouse_sources/sources/appcues/source.py:71 products/warehouse_sources/sources/umami/source.py:141 20 96
products/warehouse_sources/sources/aviationstack/aviationstack.py:283 products/warehouse_sources/sources/marketstack/marketstack.py:316 16 96
products/warehouse_sources/sources/aws_config/aws_config.py:113 products/warehouse_sources/sources/aws_sagemaker/aws_sagemaker.py:133 14 96
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/safetyculture/safetyculture.py:224 25 96
products/warehouse_sources/sources/bitbucket/source.py:179 products/warehouse_sources/sources/cimis/source.py:117 19 96
products/warehouse_sources/sources/bitbucket/source.py:179 products/warehouse_sources/sources/deno_deploy/source.py:94 19 96
products/warehouse_sources/sources/browser_use/browser_use.py:102 products/warehouse_sources/sources/copper/copper.py:73 14 96
products/warehouse_sources/sources/drata/drata.py:179 products/warehouse_sources/sources/ruddr/ruddr.py:104 20 96
products/warehouse_sources/sources/propertyware/propertyware.py:112 products/warehouse_sources/sources/salesflare/salesflare.py:67 21 96
products/warehouse_sources/backend/temporal/data_imports/sources/mem0/source.py:131 products/warehouse_sources/sources/impact/source.py:110 17 95
products/warehouse_sources/backend/temporal/data_imports/sources/mem0/source.py:131 products/warehouse_sources/sources/impact_partner/source.py:107 17 95
products/warehouse_sources/backend/temporal/data_imports/sources/mem0/source.py:131 products/warehouse_sources/sources/mailosaur/source.py:91 17 95
products/warehouse_sources/backend/temporal/data_imports/sources/mem0/source.py:131 products/warehouse_sources/sources/spacelift/source.py:132 17 95
products/warehouse_sources/sources/anthropic/source.py:196 products/warehouse_sources/sources/runpod/source.py:94 19 95
products/warehouse_sources/sources/aws_budgets/aws_budgets.py:704 products/warehouse_sources/sources/aws_cost_anomaly_detection/aws_cost_anomaly_detection.py:430 23 95
products/warehouse_sources/sources/canny/canny.py:223 products/warehouse_sources/sources/codefresh/codefresh.py:238 24 95
products/warehouse_sources/sources/canny/canny.py:223 products/warehouse_sources/sources/savvycal/savvycal.py:144 24 95
products/warehouse_sources/sources/linkrunner/source.py:111 products/warehouse_sources/sources/scale_ai/source.py:103 19 95
products/warehouse_sources/sources/marketstack/marketstack.py:278 products/warehouse_sources/sources/papersign/papersign.py:139 28 95
products/warehouse_sources/sources/new_york_times/new_york_times.py:136 products/warehouse_sources/sources/pylon/pylon.py:100 13 95
products/warehouse_sources/sources/news_api/news_api.py:208 products/warehouse_sources/sources/shopwired/shopwired.py:142 20 95
products/warehouse_sources/sources/openaq/source.py:107 products/warehouse_sources/sources/replicate/source.py:112 19 95
products/warehouse_sources/sources/printify/printify.py:481 products/warehouse_sources/sources/shippo/shippo.py:268 11 95
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_budgets/source.py:140 26 94
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_macie/source.py:125 26 94
products/warehouse_sources/sources/bol_retailer/bol_retailer.py:179 products/warehouse_sources/sources/everflow/everflow.py:198 11 94
products/warehouse_sources/sources/bol_retailer/bol_retailer.py:180 products/warehouse_sources/sources/trafficstars/trafficstars.py:98 12 94
products/warehouse_sources/sources/browser_use/browser_use.py:156 products/warehouse_sources/sources/metorial/metorial.py:98 13 94
products/warehouse_sources/sources/circleci_insights/circleci_insights.py:42 products/warehouse_sources/sources/northflank/northflank.py:48 17 94
products/warehouse_sources/sources/drata/drata.py:182 products/warehouse_sources/sources/oncehub/oncehub.py:119 17 94
products/warehouse_sources/sources/height/height.py:57 products/warehouse_sources/sources/shortio/shortio.py:46 23 94
products/warehouse_sources/sources/katana/katana.py:152 products/warehouse_sources/sources/nocrm/nocrm.py:267 24 94
products/warehouse_sources/sources/thinkific/thinkific.py:49 products/warehouse_sources/sources/thinkific_courses/thinkific_courses.py:81 13 94
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/freshsales/source.py:87 14 93
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/langfuse/source.py:207 14 93
products/warehouse_sources/backend/temporal/data_imports/sources/instantly/instantly.py:242 products/warehouse_sources/sources/mercury/mercury.py:131 15 93
products/warehouse_sources/backend/temporal/data_imports/sources/mem0/source.py:131 products/warehouse_sources/sources/railway/source.py:108 16 93
products/warehouse_sources/backend/temporal/data_imports/sources/salesforce/source.py:210 products/warehouse_sources/sources/unstructured/source.py:107 13 93
products/warehouse_sources/sources/amazon_cloudwatch/amazon_cloudwatch.py:332 products/warehouse_sources/sources/aws_athena/athena.py:191 15 93
products/warehouse_sources/sources/back_market/back_market.py:174 products/warehouse_sources/sources/mighty_networks/mighty_networks.py:149 18 93
products/warehouse_sources/sources/boldsign/source.py:63 products/warehouse_sources/sources/komodor/source.py:99 25 93
products/warehouse_sources/sources/cal_com/cal_com.py:105 products/warehouse_sources/sources/drata/drata.py:52 15 93
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:164 products/warehouse_sources/sources/persistiq/persistiq.py:141 23 93
products/warehouse_sources/sources/census/census.py:144 products/warehouse_sources/sources/hightouch/hightouch.py:151 17 93
products/warehouse_sources/sources/chargify/chargify.py:98 products/warehouse_sources/sources/spotlercrm/spotlercrm.py:117 19 93
products/warehouse_sources/sources/humanitix/humanitix.py:304 products/warehouse_sources/sources/opinion_stage/opinion_stage.py:194 17 93
products/batch_exports/backend/temporal/destinations/redshift_batch_export.py:1280 products/batch_exports/backend/temporal/destinations/redshift_batch_export.py:1797 18 92
products/warehouse_sources/sources/aha/source.py:60 products/warehouse_sources/sources/aha_ideas/source.py:60 26 92
products/warehouse_sources/sources/appcues/source.py:131 products/warehouse_sources/sources/qualaroo/source.py:56 26 92
products/warehouse_sources/sources/appcues/source.py:131 products/warehouse_sources/sources/sendowl/source.py:52 26 92
products/warehouse_sources/sources/appcues/source.py:131 products/warehouse_sources/sources/shopwired/source.py:53 26 92
products/warehouse_sources/sources/aws_compute_optimizer/aws_compute_optimizer.py:63 products/warehouse_sources/sources/aws_glue_data_catalog/aws_glue_data_catalog.py:67 11 92
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/guardian/guardian.py:109 20 92
products/warehouse_sources/sources/bamboohr/source.py:57 products/warehouse_sources/sources/sage_hr/source.py:58 26 92
products/warehouse_sources/sources/bugsnag/source.py:241 products/warehouse_sources/sources/eventzilla/source.py:99 22 92
products/warehouse_sources/sources/campayn/source.py:59 products/warehouse_sources/sources/nocrm/source.py:61 26 92
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:139 products/warehouse_sources/sources/vantage/vantage.py:139 20 92
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:158 products/warehouse_sources/sources/katana/katana.py:152 21 92
products/warehouse_sources/sources/crunchbase/crunchbase.py:108 products/warehouse_sources/sources/factorial/factorial.py:92 15 92
products/warehouse_sources/sources/devin_ai/devin_ai.py:172 products/warehouse_sources/sources/inflowinventory/inflowinventory.py:152 17 92
products/warehouse_sources/sources/drip/drip.py:81 products/warehouse_sources/sources/opinion_stage/opinion_stage.py:82 14 92
products/warehouse_sources/sources/env0/source.py:53 products/warehouse_sources/sources/monte_carlo/source.py:55 25 92
products/warehouse_sources/sources/flowlu/source.py:59 products/warehouse_sources/sources/membrain/source.py:66 26 92
products/warehouse_sources/sources/harvest/harvest.py:220 products/warehouse_sources/sources/lemlist/lemlist.py:210 25 92
products/warehouse_sources/sources/impact/source.py:63 products/warehouse_sources/sources/impact_partner/source.py:60 26 92
products/warehouse_sources/sources/katana/katana.py:152 products/warehouse_sources/sources/mailtrap/mailtrap.py:200 24 92
products/warehouse_sources/sources/newsdata/source.py:102 products/warehouse_sources/sources/nocrm/source.py:109 18 92
products/warehouse_sources/sources/thinkific/canonical_descriptions.py:1 products/warehouse_sources/sources/thinkific_courses/canonical_descriptions.py:1 28 92
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/appdynamics/source.py:237 14 91
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/drata/source.py:95 14 91
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/infisical/source.py:140 14 91
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/invoiceninja/source.py:72 14 91
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/koyeb/source.py:95 14 91
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/npm_registry/source.py:92 14 91
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/windmill/source.py:110 14 91
products/warehouse_sources/backend/temporal/data_imports/sources/sentry/sentry.py:1405 products/warehouse_sources/sources/fillout/fillout.py:248 22 91
products/warehouse_sources/sources/aws_config/source.py:145 products/warehouse_sources/sources/aws_iam_access_analyzer/source.py:137 26 91
products/warehouse_sources/sources/aws_organizations/aws_organizations.py:104 products/warehouse_sources/sources/aws_ses/aws_ses.py:105 13 91
products/warehouse_sources/sources/bitbucket/source.py:180 products/warehouse_sources/sources/newsdata/source.py:102 18 91
products/warehouse_sources/sources/care_quality_commission/source.py:109 products/warehouse_sources/sources/firehydrant/source.py:119 20 91
products/warehouse_sources/sources/care_quality_commission/source.py:109 products/warehouse_sources/sources/float_app/source.py:96 20 91
products/warehouse_sources/sources/finnhub/source.py:64 products/warehouse_sources/sources/tawk_to/source.py:96 14 91
products/warehouse_sources/sources/linkrunner/linkrunner.py:218 products/warehouse_sources/sources/linkrunner/linkrunner.py:275 13 91
products/warehouse_sources/sources/partnerize/partnerize.py:67 products/warehouse_sources/sources/roark/roark.py:87 13 91
products/warehouse_sources/backend/temporal/data_imports/sources/fourthwall/fourthwall.py:123 products/warehouse_sources/sources/browser_use/browser_use.py:103 13 90
products/warehouse_sources/backend/temporal/data_imports/sources/fourthwall/fourthwall.py:123 products/warehouse_sources/sources/hubplanner/hubplanner.py:66 13 90
products/warehouse_sources/sources/amazon_cloudwatch/amazon_cloudwatch.py:157 products/warehouse_sources/sources/aws_cost_and_usage_report/aws_cost_and_usage_report.py:113 13 90
products/warehouse_sources/sources/auth0/source.py:204 products/warehouse_sources/sources/infisical/source.py:102 25 90
products/warehouse_sources/sources/aws_cloudtrail/aws_cloudtrail.py:69 products/warehouse_sources/sources/aws_waf/aws_waf.py:73 11 90
products/warehouse_sources/sources/aws_config/aws_config.py:113 products/warehouse_sources/sources/aws_glue_data_catalog/aws_glue_data_catalog.py:117 13 90
products/warehouse_sources/sources/better_stack/better_stack.py:225 products/warehouse_sources/sources/rootly/rootly.py:145 19 90
products/warehouse_sources/sources/braze/braze.py:114 products/warehouse_sources/sources/eventzilla/eventzilla.py:131 14 90
products/warehouse_sources/sources/browser_use/browser_use.py:158 products/warehouse_sources/sources/devin_ai/devin_ai.py:102 11 90
products/warehouse_sources/sources/bugherd/bugherd.py:41 products/warehouse_sources/sources/canvas_lms/canvas_lms.py:98 14 90
products/warehouse_sources/sources/canny/canny.py:223 products/warehouse_sources/sources/rippling/rippling.py:192 24 90
products/warehouse_sources/sources/dataforseo/source.py:167 products/warehouse_sources/sources/groq/source.py:83 20 90
products/warehouse_sources/sources/dataforseo/source.py:167 products/warehouse_sources/sources/simfin/source.py:54 20 90
products/warehouse_sources/sources/easypromos/easypromos.py:154 products/warehouse_sources/sources/semgrep/semgrep.py:215 14 90
products/warehouse_sources/sources/easypromos/easypromos.py:154 products/warehouse_sources/sources/vellum/vellum.py:183 14 90
products/warehouse_sources/sources/eventbrite/eventbrite.py:250 products/warehouse_sources/sources/eventzilla/eventzilla.py:250 18 90
products/warehouse_sources/sources/exchange_rates_api/settings.py:12 products/warehouse_sources/sources/open_exchange_rates/settings.py:12 23 90
products/warehouse_sources/sources/flagsmith/source.py:177 products/warehouse_sources/sources/healthchecks/source.py:134 14 90
products/warehouse_sources/sources/folk/folk.py:144 products/warehouse_sources/sources/tenjin/tenjin.py:135 18 90
products/warehouse_sources/sources/fulcrum/fulcrum.py:245 products/warehouse_sources/sources/pandadoc/pandadoc.py:239 16 90
products/warehouse_sources/sources/greenhouse/greenhouse.py:236 products/warehouse_sources/sources/lever/lever.py:241 25 90
products/warehouse_sources/sources/teamtailor/teamtailor.py:87 products/warehouse_sources/sources/tempo/tempo.py:143 21 90
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/circleci/source.py:96 14 89
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/circleci_insights/source.py:128 14 89
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/gainsight_px/source.py:69 14 89
products/warehouse_sources/sources/aha/aha.py:171 products/warehouse_sources/sources/hellobaton/hellobaton.py:138 17 89
products/warehouse_sources/sources/aha/aha.py:171 products/warehouse_sources/sources/stack_overflow_for_teams/stack_overflow_for_teams.py:93 17 89
products/warehouse_sources/sources/anthropic/source.py:196 products/warehouse_sources/sources/openai/source.py:197 17 89
products/warehouse_sources/sources/canny/canny.py:225 products/warehouse_sources/sources/firehydrant/firehydrant.py:162 22 89
products/warehouse_sources/sources/cisco_duo/cisco_duo.py:141 products/warehouse_sources/sources/lacework/lacework.py:111 14 89
products/warehouse_sources/sources/coingecko/coingecko.py:588 products/warehouse_sources/sources/shipstation/shipstation.py:258 17 89
products/warehouse_sources/sources/doppler/source.py:92 products/warehouse_sources/sources/pulumi_cloud/source.py:143 21 89
products/warehouse_sources/sources/exchange_rates_api/source.py:106 products/warehouse_sources/sources/open_exchange_rates/source.py:108 17 89
products/warehouse_sources/sources/finnhub/source.py:64 products/warehouse_sources/sources/gerrit/source.py:98 13 89
products/warehouse_sources/sources/flowlu/flowlu.py:66 products/warehouse_sources/sources/justsift/justsift.py:103 20 89
products/warehouse_sources/sources/flowlu/flowlu.py:66 products/warehouse_sources/sources/zenloop/zenloop.py:82 20 89
products/warehouse_sources/sources/flowlu/flowlu.py:66 products/warehouse_sources/sources/zonka_feedback/zonka_feedback.py:240 20 89
products/warehouse_sources/sources/jamf_pro/jamf_pro.py:128 products/warehouse_sources/sources/qualtrics/qualtrics.py:217 13 89
products/warehouse_sources/sources/judgeme_reviews/judgeme_reviews.py:90 products/warehouse_sources/sources/persistiq/persistiq.py:120 16 89
products/warehouse_sources/sources/judgeme_reviews/judgeme_reviews.py:90 products/warehouse_sources/sources/sendowl/sendowl.py:121 16 89
products/warehouse_sources/sources/paperform/paperform.py:109 products/warehouse_sources/sources/sentinelone/sentinelone.py:206 13 89
products/warehouse_sources/sources/planhat/planhat.py:54 products/warehouse_sources/sources/simplecast/simplecast.py:88 20 89
products/warehouse_sources/sources/pylon/source.py:92 products/warehouse_sources/sources/sonarqube/source.py:118 17 89
products/warehouse_sources/sources/pylon/source.py:92 products/warehouse_sources/sources/teamcity/source.py:97 17 89
products/warehouse_sources/backend/temporal/data_imports/sources/billomat/source.py:137 products/warehouse_sources/sources/chargebee/source.py:132 21 88
products/warehouse_sources/backend/temporal/data_imports/sources/common/rest_source/paginators.py:326 products/warehouse_sources/sources/braze/braze.py:114 14 88
products/warehouse_sources/backend/temporal/data_imports/sources/sharepoint/sharepoint.py:62 products/warehouse_sources/sources/power_bi_admin/power_bi_admin.py:66 13 88
products/warehouse_sources/backend/temporal/data_imports/sources/yousign/source.py:94 products/warehouse_sources/sources/concord/source.py:63 22 88
products/warehouse_sources/sources/appfigures/source.py:120 products/warehouse_sources/sources/openfda/source.py:93 18 88
products/warehouse_sources/sources/back_market/back_market.py:191 products/warehouse_sources/sources/pingdom/pingdom.py:227 21 88
products/warehouse_sources/sources/back_market/back_market.py:197 products/warehouse_sources/sources/tremendous/tremendous.py:205 19 88
products/warehouse_sources/sources/buttondown/buttondown.py:120 products/warehouse_sources/sources/teamtailor/teamtailor.py:91 17 88
products/warehouse_sources/sources/canny/canny.py:223 products/warehouse_sources/sources/justsift/justsift.py:123 24 88
products/warehouse_sources/sources/cisco_duo/cisco_duo.py:144 products/warehouse_sources/sources/signoz/signoz.py:244 11 88
products/warehouse_sources/sources/cisco_duo/cisco_duo.py:144 products/warehouse_sources/sources/sourcegraph/sourcegraph.py:181 11 88
products/warehouse_sources/sources/dbt/source.py:173 products/warehouse_sources/sources/doppler/source.py:93 19 88
products/warehouse_sources/sources/devin_ai/devin_ai.py:175 products/warehouse_sources/sources/metorial/metorial.py:181 14 88
products/warehouse_sources/sources/eventbrite/eventbrite.py:243 products/warehouse_sources/sources/leadfeeder/leadfeeder.py:592 19 88
products/warehouse_sources/sources/hetzner/hetzner.py:127 products/warehouse_sources/sources/teamwork/teamwork.py:165 22 88
products/warehouse_sources/sources/reverb/reverb.py:229 products/warehouse_sources/sources/thinkific_courses/thinkific_courses.py:208 14 88
products/warehouse_sources/backend/temporal/data_imports/sources/common/rest_source/paginators.py:396 products/warehouse_sources/sources/back_market/back_market.py:86 12 87
products/warehouse_sources/backend/temporal/data_imports/sources/common/rest_source/paginators.py:396 products/warehouse_sources/sources/less_annoying_crm/less_annoying_crm.py:107 12 87
products/warehouse_sources/backend/temporal/data_imports/sources/common/rest_source/paginators.py:396 products/warehouse_sources/sources/retently/retently.py:102 12 87
products/warehouse_sources/backend/temporal/data_imports/sources/webflow/webflow.py:411 products/warehouse_sources/sources/giphy/giphy.py:96 16 87
products/warehouse_sources/sources/alguna/alguna.py:98 products/warehouse_sources/sources/planhat/planhat.py:57 17 87
products/warehouse_sources/sources/bluetally/bluetally.py:73 products/warehouse_sources/sources/unleash/unleash.py:161 17 87
products/warehouse_sources/sources/close/source.py:79 products/warehouse_sources/sources/zylo/source.py:77 15 87
products/warehouse_sources/sources/cloudinary/cloudinary.py:305 products/warehouse_sources/sources/loops/loops.py:197 13 87
products/warehouse_sources/sources/culture_amp/source.py:66 products/warehouse_sources/sources/taboola/source.py:81 24 87
products/warehouse_sources/sources/front/front.py:238 products/warehouse_sources/sources/secoda/secoda.py:77 15 87
products/warehouse_sources/sources/nager_date/nager_date.py:113 products/warehouse_sources/sources/nager_date/nager_date.py:130 12 87
products/batch_exports/backend/temporal/destinations/bigquery_batch_export.py:1553 products/batch_exports/backend/temporal/destinations/postgres_batch_export.py:1000 23 86
products/warehouse_sources/backend/temporal/data_imports/sources/gumroad/gumroad.py:232 products/warehouse_sources/sources/first_promoter/first_promoter.py:321 12 86
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:214 products/warehouse_sources/sources/assemblyai/assemblyai.py:129 17 86
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:214 products/warehouse_sources/sources/buttondown/buttondown.py:120 17 86
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:214 products/warehouse_sources/sources/campfire/campfire.py:170 17 86
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:214 products/warehouse_sources/sources/capsule_crm/capsule_crm.py:142 17 86
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:214 products/warehouse_sources/sources/harvest/harvest.py:204 17 86
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:214 products/warehouse_sources/sources/helpscout/helpscout.py:193 17 86
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:214 products/warehouse_sources/sources/intruder/intruder.py:96 17 86
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:214 products/warehouse_sources/sources/openfda/openfda.py:186 17 86
products/warehouse_sources/backend/temporal/data_imports/sources/okta/okta.py:53 products/warehouse_sources/sources/canvas_lms/canvas_lms.py:51 15 86
products/warehouse_sources/backend/temporal/data_imports/sources/webflow/webflow.py:411 products/warehouse_sources/sources/koyeb/koyeb.py:177 16 86
products/warehouse_sources/sources/aha/aha.py:133 products/warehouse_sources/sources/smartlead/smartlead.py:76 16 86
products/warehouse_sources/sources/auth0/source.py:205 products/warehouse_sources/sources/infisical/source.py:103 25 86
products/warehouse_sources/sources/beamer/beamer.py:206 products/warehouse_sources/sources/twelve_labs/twelve_labs.py:275 16 86
products/warehouse_sources/sources/chargify/chargify.py:102 products/warehouse_sources/sources/waydev/waydev.py:121 16 86
products/warehouse_sources/sources/cortex/cortex.py:157 products/warehouse_sources/sources/sleekplan/sleekplan.py:162 15 86
products/warehouse_sources/sources/elevenlabs/elevenlabs.py:343 products/warehouse_sources/sources/onepassword/onepassword.py:184 17 86
products/warehouse_sources/sources/hookdeck/hookdeck.py:317 products/warehouse_sources/sources/todoist/todoist.py:92 17 86
products/warehouse_sources/sources/jobnimbus/jobnimbus.py:81 products/warehouse_sources/sources/nocrm/nocrm.py:251 17 86
products/warehouse_sources/sources/pulumi_cloud/pulumi_cloud.py:311 products/warehouse_sources/sources/pulumi_cloud/pulumi_cloud.py:591 12 86
products/warehouse_sources/sources/tavus/tavus.py:125 products/warehouse_sources/sources/thinkific/thinkific.py:105 17 86
products/warehouse_sources/sources/teamcity/teamcity.py:190 products/warehouse_sources/sources/vercel/vercel.py:117 11 86
posthog/api/integration.py:2783 posthog/api/user_integration.py:573 19 85
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/servicenow.py:279 products/warehouse_sources/sources/alguna/alguna.py:98 17 85
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/servicenow.py:279 products/warehouse_sources/sources/jobnimbus/jobnimbus.py:81 17 85
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/servicenow.py:279 products/warehouse_sources/sources/jotform/jotform.py:218 17 85
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/servicenow.py:279 products/warehouse_sources/sources/xmatters/xmatters.py:290 17 85
products/warehouse_sources/sources/blogger/blogger.py:171 products/warehouse_sources/sources/uservoice/uservoice.py:209 18 85
products/warehouse_sources/sources/bluetally/bluetally.py:75 products/warehouse_sources/sources/tremendous/tremendous.py:186 15 85
products/warehouse_sources/sources/brevo/brevo.py:113 products/warehouse_sources/sources/lemlist/lemlist.py:197 14 85
products/warehouse_sources/sources/cast_ai/cast_ai.py:117 products/warehouse_sources/sources/spot_io/spot_io.py:100 15 85
products/warehouse_sources/sources/checkout_com/checkout_com.py:142 products/warehouse_sources/sources/churnkey/churnkey.py:70 18 85
products/warehouse_sources/sources/clockodo/clockodo.py:219 products/warehouse_sources/sources/stockdata/stockdata.py:176 15 85
products/warehouse_sources/sources/coolify/source.py:95 products/warehouse_sources/sources/digitalocean/source.py:152 20 85
products/warehouse_sources/sources/demodesk/demodesk.py:56 products/warehouse_sources/sources/spotlercrm/spotlercrm.py:32 13 85
products/warehouse_sources/sources/drata/drata.py:188 products/warehouse_sources/sources/paperform/paperform.py:155 11 85
products/warehouse_sources/sources/dropbox_sign/source.py:105 products/warehouse_sources/sources/nebius_ai/source.py:92 18 85
products/warehouse_sources/sources/flowlu/flowlu.py:69 products/warehouse_sources/sources/tavus/tavus.py:125 17 85
products/warehouse_sources/sources/hetzner/hetzner.py:110 products/warehouse_sources/sources/katana/katana.py:136 18 85
products/warehouse_sources/sources/linearb/source.py:102 products/warehouse_sources/sources/skyvern/source.py:125 17 85
products/warehouse_sources/sources/logz_io/source.py:139 products/warehouse_sources/sources/vapi/source.py:120 18 85
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:215 products/warehouse_sources/sources/better_stack/better_stack.py:228 16 84
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:215 products/warehouse_sources/sources/folk/folk.py:146 16 84
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:215 products/warehouse_sources/sources/mixmax/mixmax.py:219 16 84
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:215 products/warehouse_sources/sources/simplesat/simplesat.py:100 16 84
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:215 products/warehouse_sources/sources/zendesk_sell/zendesk_sell.py:139 16 84
products/warehouse_sources/backend/temporal/data_imports/sources/woocommerce/woocommerce.py:299 products/warehouse_sources/sources/easybill/easybill.py:97 13 84
products/warehouse_sources/sources/active_campaign/source.py:104 products/warehouse_sources/sources/factorial/source.py:95 13 84
products/warehouse_sources/sources/agilecrm/agilecrm.py:254 products/warehouse_sources/sources/elevenlabs/elevenlabs.py:344 16 84
products/warehouse_sources/sources/anthropic/anthropic.py:158 products/warehouse_sources/sources/elevenlabs/elevenlabs.py:162 12 84
products/warehouse_sources/sources/aws_ses/source.py:174 products/warehouse_sources/sources/dynamodb/source.py:100 25 84
products/warehouse_sources/sources/baseten/baseten.py:77 products/warehouse_sources/sources/paperform/paperform.py:110 13 84
products/warehouse_sources/sources/baseten/baseten.py:79 products/warehouse_sources/sources/chartmogul/chartmogul.py:88 11 84
products/warehouse_sources/sources/beamer/beamer.py:207 products/warehouse_sources/sources/firecrawl/firecrawl.py:203 15 84
products/warehouse_sources/sources/clockify/clockify.py:107 products/warehouse_sources/sources/perigon/perigon.py:74 13 84
products/warehouse_sources/sources/deno_deploy/deno_deploy.py:290 products/warehouse_sources/sources/surveysparrow/surveysparrow.py:241 18 84
products/warehouse_sources/sources/dub/dub.py:91 products/warehouse_sources/sources/partnerstack/partnerstack.py:83 13 84
products/warehouse_sources/sources/elevenlabs/source.py:115 products/warehouse_sources/sources/metorial/source.py:97 17 84
products/warehouse_sources/sources/hubplanner/hubplanner.py:220 products/warehouse_sources/sources/rootly/rootly.py:163 23 84
products/warehouse_sources/sources/humanitix/humanitix.py:210 products/warehouse_sources/sources/thinkific_courses/thinkific_courses.py:94 11 84
products/warehouse_sources/sources/logz_io/logz_io.py:86 products/warehouse_sources/sources/metaplane/metaplane.py:92 14 84
products/warehouse_sources/sources/stigg/stigg.py:73 products/warehouse_sources/sources/svix/svix.py:109 24 84
products/warehouse_sources/backend/temporal/data_imports/sources/gumroad/gumroad.py:232 products/warehouse_sources/sources/teachable/teachable.py:712 11 83
products/warehouse_sources/backend/temporal/data_imports/sources/instantly/instantly.py:244 products/warehouse_sources/sources/hyros/hyros.py:104 13 83
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:216 products/warehouse_sources/sources/k6_cloud/k6_cloud.py:228 15 83
products/warehouse_sources/backend/temporal/data_imports/sources/mailgun/source.py:191 products/warehouse_sources/sources/cloudflare/source.py:232 16 83
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/servicenow.py:280 products/warehouse_sources/sources/pingdom/pingdom.py:212 16 83
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/servicenow.py:280 products/warehouse_sources/sources/propertyware/propertyware.py:116 16 83
products/warehouse_sources/sources/autumn/source.py:98 products/warehouse_sources/sources/teachable/source.py:97 18 83
products/warehouse_sources/sources/aviator/aviator.py:70 products/warehouse_sources/sources/inngest/inngest.py:66 16 83
products/warehouse_sources/sources/aviator/aviator.py:73 products/warehouse_sources/sources/pulumi_cloud/pulumi_cloud.py:94 15 83
products/warehouse_sources/sources/aws_iam_access_analyzer/aws_iam_access_analyzer.py:65 products/warehouse_sources/sources/aws_macie/aws_macie.py:73 17 83
products/warehouse_sources/sources/blogger/blogger.py:152 products/warehouse_sources/sources/fireworks_ai/fireworks_ai.py:277 14 83
products/warehouse_sources/sources/bloomerang/bloomerang.py:249 products/warehouse_sources/sources/marketstack/marketstack.py:263 17 83
products/warehouse_sources/sources/bluetally/bluetally.py:95 products/warehouse_sources/sources/news_api/news_api.py:208 17 83
products/warehouse_sources/sources/browser_use/browser_use.py:373 products/warehouse_sources/sources/hetzner/hetzner.py:133 22 83
products/warehouse_sources/sources/cast_ai/cast_ai.py:200 products/warehouse_sources/sources/hightouch/hightouch.py:216 22 83
products/warehouse_sources/sources/checkout_com/checkout_com.py:143 products/warehouse_sources/sources/insightly/insightly.py:192 17 83
products/warehouse_sources/sources/clickup/clickup.py:242 products/warehouse_sources/sources/guardian/guardian.py:94 16 83
products/warehouse_sources/sources/clickup/clickup.py:242 products/warehouse_sources/sources/hetzner/hetzner.py:111 16 83
products/warehouse_sources/sources/coolify/coolify.py:80 products/warehouse_sources/sources/datahub/datahub.py:120 19 83
products/warehouse_sources/sources/courier/courier.py:186 products/warehouse_sources/sources/lingo_dev/lingo_dev.py:126 14 83
products/warehouse_sources/sources/decagon/decagon.py:164 products/warehouse_sources/sources/sendgrid/sendgrid.py:66 11 83
products/warehouse_sources/sources/dropbox_sign/dropbox_sign.py:184 products/warehouse_sources/sources/frill/frill.py:211 17 83
products/warehouse_sources/sources/guru/guru.py:250 products/warehouse_sources/sources/twilio/twilio.py:289 15 83
products/warehouse_sources/backend/temporal/data_imports/sources/common/rest_source/paginators.py:326 products/warehouse_sources/sources/smartwaiver/smartwaiver.py:105 13 82
products/warehouse_sources/backend/temporal/data_imports/sources/fusionauth/fusionauth.py:78 products/warehouse_sources/sources/flagsmith/flagsmith.py:103 12 82
products/warehouse_sources/backend/temporal/data_imports/sources/mailerlite/mailerlite.py:217 products/warehouse_sources/sources/front/front.py:239 14 82
products/warehouse_sources/backend/temporal/data_imports/sources/woocommerce/woocommerce.py:299 products/warehouse_sources/sources/kickscale/kickscale.py:161 13 82
products/warehouse_sources/backend/temporal/data_imports/sources/woocommerce/woocommerce.py:299 products/warehouse_sources/sources/tvmaze/tvmaze.py:82 13 82
products/warehouse_sources/sources/active_campaign/active_campaign.py:120 products/warehouse_sources/sources/asaas/asaas.py:151 15 82
products/warehouse_sources/sources/aha/aha.py:174 products/warehouse_sources/sources/tally/tally.py:175 14 82
products/warehouse_sources/sources/aircall/aircall.py:331 products/warehouse_sources/sources/amplemarket/amplemarket.py:126 17 82
products/warehouse_sources/sources/aircall/aircall.py:331 products/warehouse_sources/sources/confluence/confluence.py:172 17 82
products/warehouse_sources/sources/aircall/aircall.py:331 products/warehouse_sources/sources/greenhouse/greenhouse.py:220 17 82
products/warehouse_sources/sources/aviator/aviator.py:483 products/warehouse_sources/sources/replicate/replicate.py:411 19 82
products/warehouse_sources/sources/back_market/back_market.py:84 products/warehouse_sources/sources/freshcaller/freshcaller.py:114 12 82
products/warehouse_sources/sources/back_market/back_market.py:197 products/warehouse_sources/sources/oura/oura.py:170 19 82
products/warehouse_sources/sources/bitbucket/source.py:181 products/warehouse_sources/sources/everhour/source.py:96 17 82
products/warehouse_sources/sources/bitbucket/source.py:181 products/warehouse_sources/sources/leadfeeder/source.py:126 17 82
products/warehouse_sources/sources/bitbucket/source.py:181 products/warehouse_sources/sources/logz_io/source.py:140 17 82
products/warehouse_sources/sources/chargify/chargify.py:103 products/warehouse_sources/sources/telnyx/telnyx.py:106 15 82
products/warehouse_sources/sources/chartmogul/chartmogul.py:170 products/warehouse_sources/sources/courier/courier.py:186 15 82
products/warehouse_sources/sources/clickup/clickup.py:243 products/warehouse_sources/sources/retently/retently.py:213 15 82
products/warehouse_sources/sources/clockodo/clockodo.py:222 products/warehouse_sources/sources/news_api/news_api.py:172 12 82
products/warehouse_sources/sources/coingecko/coingecko.py:594 products/warehouse_sources/sources/less_annoying_crm/less_annoying_crm.py:289 11 82
products/warehouse_sources/sources/culture_amp/source.py:63 products/warehouse_sources/sources/personio/source.py:63 23 82
products/warehouse_sources/sources/drata/drata.py:183 products/warehouse_sources/sources/easypromos/easypromos.py:200 15 82
products/warehouse_sources/sources/flowlu/flowlu.py:71 products/warehouse_sources/sources/linode/linode.py:140 15 82
products/warehouse_sources/sources/freshcaller/freshcaller.py:172 products/warehouse_sources/sources/hubplanner/hubplanner.py:206 14 82
products/warehouse_sources/sources/greenhouse/greenhouse.py:242 products/warehouse_sources/sources/hubplanner/hubplanner.py:229 21 82
products/warehouse_sources/sources/octopus_deploy/octopus_deploy.py:136 products/warehouse_sources/sources/signoz/signoz.py:74 13 82
products/warehouse_sources/sources/us_bea/source.py:70 products/warehouse_sources/sources/us_census/source.py:74 15 82
products/warehouse_sources/backend/temporal/data_imports/sources/instantly/instantly.py:244 products/warehouse_sources/sources/openalex/openalex.py:187 13 81
products/warehouse_sources/backend/temporal/data_imports/sources/lemon_squeezy/lemon_squeezy.py:175 products/warehouse_sources/sources/gleif/gleif.py:112 16 81
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/servicenow.py:282 products/warehouse_sources/sources/opn_payments/opn_payments.py:109 14 81
products/warehouse_sources/sources/appsignal/appsignal.py:1223 products/warehouse_sources/sources/appsignal/appsignal.py:1299 11 81
products/warehouse_sources/sources/avalara/avalara.py:162 products/warehouse_sources/sources/bloomerang/bloomerang.py:251 14 81
products/warehouse_sources/sources/aws_compute_optimizer/source.py:68 products/warehouse_sources/sources/aws_iam_access_analyzer/source.py:65 14 81
products/warehouse_sources/sources/aws_systems_manager/source.py:66 products/warehouse_sources/sources/triple_whale/source.py:51 17 81
products/warehouse_sources/sources/bill_com/bill_com.py:56 products/warehouse_sources/sources/salesloft/salesloft.py:38 13 81
products/warehouse_sources/sources/blueshift/blueshift.py:162 products/warehouse_sources/sources/browserbase/browserbase.py:80 14 81
products/warehouse_sources/sources/clickup/clickup.py:244 products/warehouse_sources/sources/freshcaller/freshcaller.py:172 14 81
products/warehouse_sources/sources/clickup/clickup.py:244 products/warehouse_sources/sources/justcall/justcall.py:142 14 81
products/warehouse_sources/sources/codecov/source.py:155 products/warehouse_sources/sources/jamf_pro/source.py:168 16 81
products/warehouse_sources/sources/codecov/source.py:155 products/warehouse_sources/sources/jumpcloud/source.py:124 16 81
products/warehouse_sources/sources/codecov/source.py:155 products/warehouse_sources/sources/stytch/source.py:115 16 81
products/warehouse_sources/sources/cronitor/cronitor.py:485 products/warehouse_sources/sources/doppler/doppler.py:393 18 81
products/warehouse_sources/sources/culture_amp/source.py:63 products/warehouse_sources/sources/sage_intacct/source.py:60 23 81
products/warehouse_sources/sources/databricks/source.py:149 products/warehouse_sources/sources/qualtrics/source.py:128 25 81
products/warehouse_sources/sources/ding_connect/ding_connect.py:147 products/warehouse_sources/sources/papersign/papersign.py:126 15 81
products/warehouse_sources/sources/formbricks/formbricks.py:168 products/warehouse_sources/sources/granola/granola.py:88 11 81
products/warehouse_sources/sources/genesys_cloud/source.py:125 products/warehouse_sources/sources/personio/source.py:68 22 81
products/warehouse_sources/sources/justcall/source.py:65 products/warehouse_sources/sources/secureframe/source.py:76 22 81
products/warehouse_sources/sources/leexi/source.py:67 products/warehouse_sources/sources/spacelift/source.py:78 22 81
products/warehouse_sources/sources/linearb/source.py:103 products/warehouse_sources/sources/openaq/source.py:110 16 81
products/warehouse_sources/backend/temporal/data_imports/sources/fourthwall/fourthwall.py:123 products/warehouse_sources/sources/invoiceninja/invoiceninja.py:103 12 80
products/warehouse_sources/backend/temporal/data_imports/sources/lemon_squeezy/lemon_squeezy.py:175 products/warehouse_sources/sources/aircall/aircall.py:332 16 80
products/warehouse_sources/backend/temporal/data_imports/sources/lemon_squeezy/lemon_squeezy.py:175 products/warehouse_sources/sources/select_star/select_star.py:79 16 80
products/warehouse_sources/backend/temporal/data_imports/sources/whop/whop.py:172 products/warehouse_sources/sources/kalshi/kalshi.py:465 16 80
products/warehouse_sources/sources/aiven/aiven.py:309 products/warehouse_sources/sources/eventbrite/eventbrite.py:252 16 80
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_batch/source.py:116 23 80
products/warehouse_sources/sources/apify_dataset/apify_dataset.py:50 products/warehouse_sources/sources/recall_ai/recall_ai.py:46 12 80
products/warehouse_sources/sources/appfollow/appfollow.py:108 products/warehouse_sources/sources/kong_konnect/kong_konnect.py:65 12 80
products/warehouse_sources/sources/bettermode/bettermode.py:123 products/warehouse_sources/sources/braintree/braintree.py:123 11 80
products/warehouse_sources/sources/clickup/clickup.py:159 products/warehouse_sources/sources/maxio/maxio.py:83 13 80
products/warehouse_sources/sources/easybill/easybill.py:128 products/warehouse_sources/sources/eventzilla/eventzilla.py:257 15 80
products/warehouse_sources/sources/leadfeeder/source.py:77 products/warehouse_sources/sources/loop_returns/source.py:74 22 80
products/warehouse_sources/sources/propertyware/propertyware.py:65 products/warehouse_sources/sources/telnyx/telnyx.py:29 11 80
products/warehouse_sources/sources/salesloft/salesloft.py:146 products/warehouse_sources/sources/xendit/xendit.py:196 21 80
products/warehouse_sources/sources/thinkific/canonical_descriptions.py:26 products/warehouse_sources/sources/thinkific_courses/canonical_descriptions.py:53 23 80
products/warehouse_sources/backend/temporal/data_imports/sources/instantly/instantly.py:244 products/warehouse_sources/sources/cloudability/cloudability.py:148 13 79
products/warehouse_sources/backend/temporal/data_imports/sources/instantly/instantly.py:244 products/warehouse_sources/sources/cloudinary/cloudinary.py:306 13 79
products/warehouse_sources/backend/temporal/data_imports/sources/instantly/instantly.py:244 products/warehouse_sources/sources/servicem8/servicem8.py:160 13 79
products/warehouse_sources/backend/temporal/data_imports/sources/mem0/source.py:131 products/warehouse_sources/sources/gitguardian/source.py:106 15 79
products/warehouse_sources/backend/temporal/data_imports/sources/reddit_ads/reddit_ads.py:367 products/warehouse_sources/sources/cliniko/cliniko.py:129 15 79
products/warehouse_sources/sources/aha/aha.py:172 products/warehouse_sources/sources/back_market/back_market.py:176 15 79
products/warehouse_sources/sources/aha/source.py:100 products/warehouse_sources/sources/aha_ideas/source.py:100 14 79
products/warehouse_sources/sources/apollo/apollo.py:222 products/warehouse_sources/sources/rollbar/rollbar.py:199 16 79
products/warehouse_sources/sources/appfigures/appfigures.py:68 products/warehouse_sources/sources/appfollow/appfollow.py:71 12 79
products/warehouse_sources/sources/appfollow/appfollow.py:108 products/warehouse_sources/sources/capsule_crm/capsule_crm.py:92 12 79
products/warehouse_sources/sources/auth0/source.py:204 products/warehouse_sources/sources/coupa/source.py:81 24 79
products/warehouse_sources/sources/aws_cloudtrail/aws_cloudtrail.py:183 products/warehouse_sources/sources/aws_cloudtrail/aws_cloudtrail.py:405 12 79
products/warehouse_sources/sources/bitrise/source.py:113 products/warehouse_sources/sources/bugsnag/source.py:247 19 79
products/warehouse_sources/sources/bitrise/source.py:113 products/warehouse_sources/sources/honeycomb/source.py:220 19 79
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:166 products/warehouse_sources/sources/convertkit/convertkit.py:304 21 79
products/warehouse_sources/sources/cloudzero/cloudzero.py:157 products/warehouse_sources/sources/sprig/sprig.py:117 15 79
products/warehouse_sources/sources/fullstory/fullstory.py:167 products/warehouse_sources/sources/zoom/zoom.py:77 11 79
products/warehouse_sources/sources/plain/queries.py:133 products/warehouse_sources/sources/plain/queries.py:253 26 79
products/warehouse_sources/sources/plain/queries.py:133 products/warehouse_sources/sources/plain/queries.py:305 26 79
products/warehouse_sources/sources/plain/queries.py:133 products/warehouse_sources/sources/plain/queries.py:359 26 79
products/warehouse_sources/sources/plain/queries.py:133 products/warehouse_sources/sources/plain/queries.py:400 26 79
products/warehouse_sources/sources/plain/queries.py:133 products/warehouse_sources/sources/plain/queries.py:437 26 79
products/warehouse_sources/sources/plain/queries.py:133 products/warehouse_sources/sources/plain/queries.py:482 26 79
products/feature_flags/backend/api/feature_flag.py:4396 products/feature_flags/backend/api/feature_flag.py:5233 14 78
products/warehouse_sources/backend/temporal/data_imports/sources/baserow/baserow.py:341 products/warehouse_sources/sources/ownerrez/ownerrez.py:136 14 78
products/warehouse_sources/backend/temporal/data_imports/sources/common/rest_source/paginators.py:240 products/warehouse_sources/sources/anthropic/anthropic.py:158 11 78
products/warehouse_sources/backend/temporal/data_imports/sources/instantly/instantly.py:244 products/warehouse_sources/sources/torii/torii.py:37 13 78
products/warehouse_sources/backend/temporal/data_imports/sources/lemon_squeezy/lemon_squeezy.py:177 products/warehouse_sources/sources/guru/guru.py:251 14 78
products/warehouse_sources/backend/temporal/data_imports/sources/zendesk/zendesk.py:687 products/warehouse_sources/sources/intercom/intercom.py:74 12 78
products/warehouse_sources/sources/active_campaign/active_campaign.py:120 products/warehouse_sources/sources/lever/lever.py:228 15 78
products/warehouse_sources/sources/adyen/adyen.py:547 products/warehouse_sources/sources/adyen/adyen.py:614 13 78
products/warehouse_sources/sources/amazon_ads/amazon_ads.py:169 products/warehouse_sources/sources/singular/singular.py:84 15 78
products/warehouse_sources/sources/azure_cost_management/azure_cost_management.py:212 products/warehouse_sources/sources/exchange_rates_api/exchange_rates_api.py:137 19 78
products/warehouse_sources/sources/azure_devops/azure_devops.py:633 products/warehouse_sources/sources/azure_devops/azure_devops.py:682 11 78
products/warehouse_sources/sources/canny/canny.py:229 products/warehouse_sources/sources/capsule_crm/capsule_crm.py:164 18 78
products/warehouse_sources/sources/chameleon/chameleon.py:206 products/warehouse_sources/sources/resend/resend.py:225 17 78
products/warehouse_sources/sources/circleci/circleci.py:234 products/warehouse_sources/sources/circleci_insights/circleci_insights.py:228 18 78
products/warehouse_sources/sources/circleci_insights/circleci_insights.py:207 products/warehouse_sources/sources/northflank/northflank.py:153 11 78
products/warehouse_sources/sources/clay/clay.py:112 products/warehouse_sources/sources/cloudzero/cloudzero.py:157 12 78
products/warehouse_sources/sources/clickup/clickup.py:247 products/warehouse_sources/sources/freshchat/freshchat.py:277 11 78
products/warehouse_sources/sources/cursor/source.py:103 products/warehouse_sources/sources/new_relic/source.py:262 16 78
products/warehouse_sources/sources/docuseal/docuseal.py:158 products/warehouse_sources/sources/onepassword/onepassword.py:200 24 78
products/warehouse_sources/sources/flowlu/flowlu.py:75 products/warehouse_sources/sources/invoiceninja/invoiceninja.py:268 11 78
products/warehouse_sources/sources/gitbook/gitbook.py:308 products/warehouse_sources/sources/roark/roark.py:164 12 78
products/warehouse_sources/sources/hellobaton/source.py:106 products/warehouse_sources/sources/vellum/source.py:92 19 78
products/warehouse_sources/sources/hellobaton/source.py:106 products/warehouse_sources/sources/zep/source.py:101 19 78
products/warehouse_sources/sources/helpscout/helpscout.py:229 products/warehouse_sources/sources/sendgrid/sendgrid.py:406 11 78
products/warehouse_sources/sources/helpscout/helpscout.py:229 products/warehouse_sources/sources/vantage/vantage.py:178 11 78
products/warehouse_sources/sources/helpscout/helpscout.py:229 products/warehouse_sources/sources/workable/workable.py:167 11 78
products/warehouse_sources/sources/openai_ads/openai_ads.py:330 products/warehouse_sources/sources/reverb/reverb.py:195 16 78
products/messaging/backend/presentation/views/message_preferences.py:5 products/messaging/backend/presentation/views/message_suppression.py:3 12 77
products/warehouse_sources/backend/temporal/data_imports/sources/common/rest_source/paginators.py:328 products/warehouse_sources/sources/plausible/plausible.py:127 11 77
products/warehouse_sources/backend/temporal/data_imports/sources/freshdesk/source.py:128 products/warehouse_sources/sources/shipmail/source.py:77 16 77
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/source.py:97 products/warehouse_sources/sources/grafana/source.py:98 23 77
products/warehouse_sources/sources/anvil/anvil.py:425 products/warehouse_sources/sources/jellyfish/jellyfish.py:398 14 77
products/warehouse_sources/sources/appcues/source.py:130 products/warehouse_sources/sources/justcall/source.py:60 21 77
products/warehouse_sources/sources/appfollow/appfollow.py:108 products/warehouse_sources/sources/rootly/rootly.py:55 13 77
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/notion/source.py:158 15 77
products/warehouse_sources/sources/autumn/source.py:99 products/warehouse_sources/sources/dynamics365/source.py:137 17 77
products/warehouse_sources/sources/autumn/source.py:99 products/warehouse_sources/sources/first_promoter/source.py:97 17 77
products/warehouse_sources/sources/back_market/back_market.py:75 products/warehouse_sources/sources/clickup/clickup.py:159 13 77
products/warehouse_sources/sources/bigmailer/bigmailer.py:186 products/warehouse_sources/sources/chameleon/chameleon.py:206 17 77
products/warehouse_sources/sources/bland_ai/bland_ai.py:555 products/warehouse_sources/sources/goldcast/goldcast.py:143 11 77
products/warehouse_sources/sources/cloudflare_d1/source.py:64 products/warehouse_sources/sources/drip/source.py:105 21 77
products/warehouse_sources/sources/coinmarketcap/coinmarketcap.py:263 products/warehouse_sources/sources/coinmarketcap/coinmarketcap.py:355 16 77
products/warehouse_sources/sources/concord/concord.py:269 products/warehouse_sources/sources/concord/concord.py:307 14 77
products/warehouse_sources/sources/databricks/source.py:149 products/warehouse_sources/sources/jamf_pro/source.py:99 23 77
products/warehouse_sources/sources/demodesk/demodesk.py:86 products/warehouse_sources/sources/moengage/moengage.py:100 11 77
products/warehouse_sources/sources/easypromos/easypromos.py:156 products/warehouse_sources/sources/northpass_lms/northpass_lms.py:361 12 77
products/warehouse_sources/sources/env0/source.py:53 products/warehouse_sources/sources/leexi/source.py:63 25 77
products/warehouse_sources/sources/everflow/everflow.py:56 products/warehouse_sources/sources/smartsheet/smartsheet.py:51 11 77
products/warehouse_sources/sources/folk/source.py:92 products/warehouse_sources/sources/rootly/source.py:100 15 77
products/warehouse_sources/sources/justsift/justsift.py:94 products/warehouse_sources/sources/rocketlane/rocketlane.py:188 22 77
products/warehouse_sources/sources/klaus/klaus.py:362 products/warehouse_sources/sources/shippo/shippo.py:252 21 77
products/warehouse_sources/sources/mixpanel/source.py:178 products/warehouse_sources/sources/writesonic/source.py:110 13 77
products/warehouse_sources/sources/rentcast/rentcast.py:161 products/warehouse_sources/sources/ruddr/ruddr.py:123 22 77
products/warehouse_sources/sources/secureframe/secureframe.py:294 products/warehouse_sources/sources/secureframe/secureframe.py:363 12 77
products/warehouse_sources/sources/surveymonkey/surveymonkey.py:263 products/warehouse_sources/sources/surveysparrow/surveysparrow.py:248 13 77
products/warehouse_sources/backend/temporal/data_imports/sources/baserow/baserow.py:126 products/warehouse_sources/sources/medusa/medusa.py:142 17 76
products/warehouse_sources/backend/temporal/data_imports/sources/gitea/source.py:177 products/warehouse_sources/sources/gitlab/source.py:135 12 76
products/warehouse_sources/backend/temporal/data_imports/sources/mailjet/mailjet.py:306 products/warehouse_sources/sources/shipstation/shipstation.py:280 16 76
products/warehouse_sources/backend/temporal/data_imports/sources/matomo/matomo.py:69 products/warehouse_sources/sources/taboola/taboola.py:73 14 76
products/warehouse_sources/sources/amazon_ads/canonical_descriptions.py:143 products/warehouse_sources/sources/amazon_ads/canonical_descriptions.py:223 21 76
products/warehouse_sources/sources/amazon_cloudwatch/source.py:189 products/warehouse_sources/sources/aws_ses/source.py:159 22 76
products/warehouse_sources/sources/baseten/baseten.py:283 products/warehouse_sources/sources/paperform/paperform.py:288 12 76
products/warehouse_sources/sources/better_stack/better_stack.py:114 products/warehouse_sources/sources/rootly/rootly.py:83 15 76
products/warehouse_sources/sources/bitrise/bitrise.py:218 products/warehouse_sources/sources/netlify/netlify.py:276 14 76
products/warehouse_sources/sources/browser_use/browser_use.py:376 products/warehouse_sources/sources/surveysparrow/surveysparrow.py:243 19 76
products/warehouse_sources/sources/buttondown/buttondown.py:155 products/warehouse_sources/sources/conekta/conekta.py:202 11 76
products/warehouse_sources/sources/campaign_monitor/source.py:124 products/warehouse_sources/sources/kickscale/source.py:121 23 76
products/warehouse_sources/sources/campayn/source.py:59 products/warehouse_sources/sources/wufoo/source.py:128 23 76
products/warehouse_sources/sources/checkout_com/source.py:271 products/warehouse_sources/sources/leadfeeder/source.py:78 21 76
products/warehouse_sources/sources/clickhouse_cloud/clickhouse_cloud.py:358 products/warehouse_sources/sources/runpod/runpod.py:297 18 76
products/warehouse_sources/sources/clickhouse_cloud/clickhouse_cloud.py:358 products/warehouse_sources/sources/sonarqube/sonarqube.py:425 18 76
products/warehouse_sources/sources/clickhouse_cloud/clickhouse_cloud.py:358 products/warehouse_sources/sources/veracode/veracode.py:344 18 76
products/warehouse_sources/sources/codemagic/codemagic.py:74 products/warehouse_sources/sources/ding_connect/ding_connect.py:91 11 76
products/warehouse_sources/sources/digitalocean/settings.py:350 products/warehouse_sources/sources/digitalocean/settings.py:369 14 76
products/warehouse_sources/sources/e_conomic/canonical_descriptions.py:232 products/warehouse_sources/sources/e_conomic/canonical_descriptions.py:279 20 76
products/warehouse_sources/sources/formbricks/formbricks.py:150 products/warehouse_sources/sources/gitlab/gitlab.py:223 14 76
products/warehouse_sources/sources/genesys_cloud/source.py:123 products/warehouse_sources/sources/zuora/source.py:100 23 76
products/warehouse_sources/sources/kapa_ai/source.py:56 products/warehouse_sources/sources/lexware_office/source.py:50 14 76
products/warehouse_sources/sources/kisi/source.py:59 products/warehouse_sources/sources/speedcurve/source.py:57 21 76
products/warehouse_sources/sources/orca_security/orca_security.py:230 products/warehouse_sources/sources/paperform/paperform.py:288 17 76
products/warehouse_sources/sources/packagist/packagist.py:267 products/warehouse_sources/sources/transistor/transistor.py:290 12 76
products/warehouse_sources/sources/perigon/perigon.py:73 products/warehouse_sources/sources/productboard/productboard.py:41 13 76
products/warehouse_sources/backend/temporal/data_imports/sources/featurebase/source.py:192 products/warehouse_sources/sources/bitrise/source.py:117 15 75
products/warehouse_sources/backend/temporal/data_imports/sources/featurebase/source.py:192 products/warehouse_sources/sources/mailersend/source.py:115 15 75
products/warehouse_sources/backend/temporal/data_imports/sources/featurebase/source.py:192 products/warehouse_sources/sources/splunk_observability_cloud/source.py:156 15 75
products/warehouse_sources/backend/temporal/data_imports/sources/matomo/matomo.py:66 products/warehouse_sources/sources/kubecost/kubecost.py:84 17 75
products/warehouse_sources/backend/temporal/data_imports/sources/sharepoint/sharepoint.py:145 products/warehouse_sources/sources/power_bi_admin/power_bi_admin.py:111 15 75
products/warehouse_sources/sources/active_campaign/active_campaign.py:110 products/warehouse_sources/sources/coinmarketcap/coinmarketcap.py:413 18 75
products/warehouse_sources/sources/aha_ideas/aha_ideas.py:181 products/warehouse_sources/sources/leadfeeder/leadfeeder.py:601 17 75
products/warehouse_sources/sources/airwallex/airwallex.py:302 products/warehouse_sources/sources/heroku/heroku.py:238 13 75
products/warehouse_sources/sources/airwallex/source.py:63 products/warehouse_sources/sources/frontegg/source.py:136 22 75
products/warehouse_sources/sources/amplitude/source.py:179 products/warehouse_sources/sources/open_meteo/source.py:136 14 75
products/warehouse_sources/sources/appcues/source.py:131 products/warehouse_sources/sources/trustpilot/source.py:57 22 75
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/devin_ai/source.py:109 15 75
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/flagsmith/source.py:161 15 75
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/less_annoying_crm/source.py:92 15 75
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/netlify/source.py:95 15 75
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/pypi/source.py:94 15 75
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/rubygems/source.py:88 15 75
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/segment/source.py:302 15 75
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/sonar_cloud/source.py:120 15 75
products/warehouse_sources/sources/aws_systems_manager/source.py:66 products/warehouse_sources/sources/ghost/source.py:125 15 75
products/warehouse_sources/sources/aws_systems_manager/source.py:66 products/warehouse_sources/sources/plane/source.py:116 15 75
products/warehouse_sources/sources/azure_devops/azure_devops.py:741 products/warehouse_sources/sources/square/square.py:294 14 75
products/warehouse_sources/sources/breezometer/source.py:107 products/warehouse_sources/sources/google_pagespeed_insights/source.py:131 17 75
products/warehouse_sources/sources/buildium/source.py:118 products/warehouse_sources/sources/propertyware/source.py:61 22 75
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:164 products/warehouse_sources/sources/harvest/harvest.py:226 15 75
products/warehouse_sources/sources/chargebee/chargebee.py:361 products/warehouse_sources/sources/servicem8/servicem8.py:150 18 75
products/warehouse_sources/sources/clockify/clockify.py:363 products/warehouse_sources/sources/perigon/perigon.py:191 16 75
products/warehouse_sources/sources/confluent_cloud/confluent_cloud.py:329 products/warehouse_sources/sources/klaus/klaus.py:363 20 75
products/warehouse_sources/sources/criteo/source.py:83 products/warehouse_sources/sources/kajabi/source.py:51 22 75
products/warehouse_sources/sources/flowlu/flowlu.py:70 products/warehouse_sources/sources/rewardful/rewardful.py:102 15 75
products/warehouse_sources/sources/ghost/ghost.py:151 products/warehouse_sources/sources/givebutter/givebutter.py:83 17 75
products/warehouse_sources/sources/grafana_irm/grafana_irm.py:254 products/warehouse_sources/sources/grafana_irm/grafana_irm.py:297 15 75
products/warehouse_sources/sources/hatchet/hatchet.py:241 products/warehouse_sources/sources/kernel/kernel.py:161 16 75
products/warehouse_sources/sources/insightly/insightly.py:65 products/warehouse_sources/sources/kong_konnect/kong_konnect.py:50 11 75
products/warehouse_sources/sources/luma/luma.py:241 products/warehouse_sources/sources/printify/printify.py:469 18 75
products/warehouse_sources/sources/onepagecrm/onepagecrm.py:226 products/warehouse_sources/sources/orca_security/orca_security.py:227 15 75
products/warehouse_sources/sources/openai/openai.py:75 products/warehouse_sources/sources/openai_ads/openai_ads.py:96 14 75
products/warehouse_sources/backend/temporal/data_imports/sources/matomo/matomo.py:69 products/warehouse_sources/sources/applovin/applovin.py:75 14 74
products/warehouse_sources/backend/temporal/data_imports/sources/matomo/matomo.py:69 products/warehouse_sources/sources/outbrain/outbrain.py:298 14 74
products/warehouse_sources/backend/temporal/data_imports/sources/matomo/matomo.py:69 products/warehouse_sources/sources/plausible/plausible.py:65 14 74
products/warehouse_sources/backend/temporal/data_imports/sources/yousign/source.py:100 products/warehouse_sources/sources/phyllo/source.py:78 19 74
products/warehouse_sources/sources/abnormal_security/source.py:71 products/warehouse_sources/sources/boldsign/source.py:69 21 74
products/warehouse_sources/sources/aha/aha.py:133 products/warehouse_sources/sources/humanitix/humanitix.py:210 15 74
products/warehouse_sources/sources/airwallex/airwallex.py:303 products/warehouse_sources/sources/bitrise/bitrise.py:218 12 74
products/warehouse_sources/sources/anthropic/anthropic.py:134 products/warehouse_sources/sources/openai/openai.py:75 12 74
products/warehouse_sources/sources/appfigures/source.py:123 products/warehouse_sources/sources/care_quality_commission/source.py:114 15 74
products/warehouse_sources/sources/appfigures/source.py:123 products/warehouse_sources/sources/deepgram/source.py:103 15 74
products/warehouse_sources/sources/appfigures/source.py:123 products/warehouse_sources/sources/new_york_times/source.py:115 15 74
products/warehouse_sources/sources/asana/asana.py:164 products/warehouse_sources/sources/dynamics_365_business_central/dynamics_365_business_central.py:251 15 74
products/warehouse_sources/sources/asana/asana.py:164 products/warehouse_sources/sources/env0/env0.py:281 15 74
products/warehouse_sources/sources/asana/asana.py:164 products/warehouse_sources/sources/leexi/leexi.py:157 15 74
products/warehouse_sources/sources/asana/asana.py:164 products/warehouse_sources/sources/mailosaur/mailosaur.py:141 15 74
products/warehouse_sources/sources/aws_budgets/aws_budgets.py:650 products/warehouse_sources/sources/aws_cost_anomaly_detection/aws_cost_anomaly_detection.py:380 18 74
products/warehouse_sources/sources/azure_cost_management/azure_cost_management.py:217 products/warehouse_sources/sources/open_exchange_rates/open_exchange_rates.py:209 14 74
products/warehouse_sources/sources/campfire/campfire.py:51 products/warehouse_sources/sources/deepgram/deepgram.py:46 11 74
products/warehouse_sources/sources/campfire/campfire.py:160 products/warehouse_sources/sources/smartsheet/smartsheet.py:230 20 74
products/warehouse_sources/sources/canny/canny.py:230 products/warehouse_sources/sources/membrain/membrain.py:233 17 74
products/warehouse_sources/sources/canny/canny.py:232 products/warehouse_sources/sources/heroku/heroku.py:280 15 74
products/warehouse_sources/sources/circleci/circleci.py:119 products/warehouse_sources/sources/circleci_insights/circleci_insights.py:114 16 74
products/warehouse_sources/sources/concord/source.py:124 products/warehouse_sources/sources/cursor/source.py:104 15 74
products/warehouse_sources/sources/concord/source.py:124 products/warehouse_sources/sources/dbt/source.py:178 15 74
products/warehouse_sources/sources/configcat/configcat.py:402 products/warehouse_sources/sources/shortio/shortio.py:41 23 74
products/warehouse_sources/sources/dataforseo/source.py:167 products/warehouse_sources/sources/rki_covid/source.py:56 16 74
products/warehouse_sources/sources/deepgram/deepgram.py:399 products/warehouse_sources/sources/heroku/heroku.py:285 15 74
products/warehouse_sources/sources/ding_connect/ding_connect.py:170 products/warehouse_sources/sources/eventee/eventee.py:54 11 74
products/warehouse_sources/sources/firehydrant/firehydrant.py:158 products/warehouse_sources/sources/mux/mux.py:420 22 74
products/warehouse_sources/sources/gerrit/gerrit.py:516 products/warehouse_sources/sources/teamcity/teamcity.py:437 16 74
products/warehouse_sources/sources/infisical/infisical.py:152 products/warehouse_sources/sources/jumpcloud/jumpcloud.py:101 11 74
products/warehouse_sources/sources/infisical/infisical.py:152 products/warehouse_sources/sources/octopus_deploy/octopus_deploy.py:184 11 74
products/warehouse_sources/sources/intruder/intruder.py:66 products/warehouse_sources/sources/todoist/todoist.py:57 14 74
products/warehouse_sources/sources/jira/jira.py:119 products/warehouse_sources/sources/jira/jira.py:134 12 74
products/warehouse_sources/sources/katana/katana.py:160 products/warehouse_sources/sources/smartwaiver/smartwaiver.py:258 18 74
products/warehouse_sources/sources/squadcast/squadcast.py:1 products/warehouse_sources/sources/tenable_vulnerability_management/tenable_vulnerability_management.py:1 18 74
products/warehouse_sources/sources/trunk_io/trunk_io.py:63 products/warehouse_sources/sources/trunk_io/trunk_io.py:110 13 74
products/logs/backend/presentation/views/alerts_api.py:771 products/replay_vision/backend/api/vision_alerts.py:306 14 73
products/warehouse_sources/sources/amplitude/amplitude.py:388 products/warehouse_sources/sources/testrail/testrail.py:501 14 73
products/warehouse_sources/sources/appfollow/appfollow.py:108 products/warehouse_sources/sources/katana/katana.py:63 12 73
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/churnkey/source.py:101 13 73
products/warehouse_sources/sources/argocd/source.py:108 products/warehouse_sources/sources/crates_io/source.py:92 13 73
products/warehouse_sources/sources/auth0/source.py:204 products/warehouse_sources/sources/commercetools/source.py:204 24 73
products/warehouse_sources/sources/automox/automox.py:547 products/warehouse_sources/sources/similarweb/similarweb.py:487 11 73
products/warehouse_sources/sources/aws_cloudtrail/source.py:155 products/warehouse_sources/sources/aws_config/source.py:144 21 73
products/warehouse_sources/sources/back_market/back_market.py:75 products/warehouse_sources/sources/humanitix/humanitix.py:81 13 73
products/warehouse_sources/sources/baseten/baseten.py:283 products/warehouse_sources/sources/vantage/vantage.py:226 13 73
products/warehouse_sources/sources/baseten/baseten.py:283 products/warehouse_sources/sources/vellum/vellum.py:225 13 73
products/warehouse_sources/sources/bigmailer/bigmailer.py:188 products/warehouse_sources/sources/campaign_monitor/campaign_monitor.py:299 15 73
products/warehouse_sources/sources/bluetally/bluetally.py:96 products/warehouse_sources/sources/guardian/guardian.py:116 16 73
products/warehouse_sources/sources/browser_use/browser_use.py:375 products/warehouse_sources/sources/twelve_labs/twelve_labs.py:408 16 73
products/warehouse_sources/sources/buzzsprout/buzzsprout.py:270 products/warehouse_sources/sources/campaign_monitor/campaign_monitor.py:341 14 73
products/warehouse_sources/sources/charthop/charthop.py:226 products/warehouse_sources/sources/statuspage/statuspage.py:182 17 73
products/warehouse_sources/sources/clockify/clockify.py:107 products/warehouse_sources/sources/snyk/snyk.py:82 12 73
products/warehouse_sources/sources/clockify/clockify.py:342 products/warehouse_sources/sources/deepgram/deepgram.py:367 12 73
products/warehouse_sources/sources/confluence/source.py:72 products/warehouse_sources/sources/jira/source.py:81 24 73
products/warehouse_sources/sources/databricks/source.py:151 products/warehouse_sources/sources/qualtrics/source.py:130 24 73
products/warehouse_sources/sources/drata/drata.py:327 products/warehouse_sources/sources/ramp/ramp.py:227 18 73
products/warehouse_sources/sources/e_conomic/canonical_descriptions.py:257 products/warehouse_sources/sources/e_conomic/canonical_descriptions.py:280 21 73
products/warehouse_sources/sources/ezofficeinventory/ezofficeinventory.py:203 products/warehouse_sources/sources/faire/faire.py:177 16 73
products/warehouse_sources/sources/kickscale/kickscale.py:181 products/warehouse_sources/sources/postscript/postscript.py:181 14 73
products/warehouse_sources/sources/new_york_times/new_york_times.py:265 products/warehouse_sources/sources/new_york_times/new_york_times.py:314 11 73
products/warehouse_sources/sources/nuget/nuget.py:487 products/warehouse_sources/sources/pylon/pylon.py:471 17 73
products/warehouse_sources/sources/planhat/planhat.py:73 products/warehouse_sources/sources/rentcast/rentcast.py:161 22 73
products/warehouse_sources/sources/rocketlane/rocketlane.py:69 products/warehouse_sources/sources/trello/trello.py:98 11 73
products/warehouse_sources/backend/temporal/data_imports/sources/gumroad/source.py:129 products/warehouse_sources/sources/productboard/source.py:118 17 72
products/warehouse_sources/backend/temporal/data_imports/sources/matomo/matomo.py:69 products/warehouse_sources/sources/easybill/easybill.py:29 14 72
products/warehouse_sources/backend/temporal/data_imports/sources/yousign/source.py:100 products/warehouse_sources/sources/bill_com/source.py:102 18 72
products/warehouse_sources/sources/abnormal_security/source.py:75 products/warehouse_sources/sources/rudderstack/source.py:266 18 72
products/warehouse_sources/sources/adroll/source.py:68 products/warehouse_sources/sources/flexmail/source.py:59 20 72
products/warehouse_sources/sources/aha/aha.py:161 products/warehouse_sources/sources/uservoice/uservoice.py:175 20 72
products/warehouse_sources/sources/aha/source.py:66 products/warehouse_sources/sources/bamboohr/source.py:63 20 72
products/warehouse_sources/sources/aha/source.py:66 products/warehouse_sources/sources/hellobaton/source.py:64 20 72
products/warehouse_sources/sources/aha_ideas/aha_ideas.py:181 products/warehouse_sources/sources/resend/resend.py:266 16 72
products/warehouse_sources/sources/aircall/source.py:68 products/warehouse_sources/sources/recruitee/source.py:65 20 72
products/warehouse_sources/sources/apitally/source.py:87 products/warehouse_sources/sources/bugherd/source.py:81 17 72
products/warehouse_sources/sources/apitally/source.py:87 products/warehouse_sources/sources/cast_ai/source.py:81 17 72
products/warehouse_sources/sources/apitally/source.py:87 products/warehouse_sources/sources/dovetail/source.py:83 17 72
products/warehouse_sources/sources/apitally/source.py:87 products/warehouse_sources/sources/hightouch/source.py:102 17 72
products/warehouse_sources/sources/apitally/source.py:87 products/warehouse_sources/sources/sendgrid/source.py:175 17 72
products/warehouse_sources/sources/apitally/source.py:87 products/warehouse_sources/sources/sleekplan/source.py:84 17 72
products/warehouse_sources/sources/apitally/source.py:87 products/warehouse_sources/sources/yoco/source.py:96 17 72
products/warehouse_sources/sources/appfollow/appfollow.py:109 products/warehouse_sources/sources/lemlist/lemlist.py:64 11 72
products/warehouse_sources/sources/appsflyer/appsflyer.py:158 products/warehouse_sources/sources/cody/cody.py:119 13 72
products/warehouse_sources/sources/ashby/canonical_descriptions.py:5 products/warehouse_sources/sources/lattice/canonical_descriptions.py:5 18 72
products/warehouse_sources/sources/auth0/source.py:204 products/warehouse_sources/sources/zoom/source.py:206 22 72
products/warehouse_sources/sources/aviator/source.py:93 products/warehouse_sources/sources/dropbox_sign/source.py:108 17 72
products/warehouse_sources/sources/aviator/source.py:93 products/warehouse_sources/sources/mux/source.py:147 17 72
products/warehouse_sources/sources/aws_budgets/source.py:113 products/warehouse_sources/sources/aws_cost_anomaly_detection/source.py:124 17 72
products/warehouse_sources/sources/bitbucket/source.py:183 products/warehouse_sources/sources/persona/source.py:121 15 72
products/warehouse_sources/sources/blogger/blogger.py:174 products/warehouse_sources/sources/deepgram/deepgram.py:387 14 72
products/warehouse_sources/sources/browser_use/browser_use.py:379 products/warehouse_sources/sources/easybill/easybill.py:125 16 72
products/warehouse_sources/sources/campaign_monitor/campaign_monitor.py:341 products/warehouse_sources/sources/semgrep/semgrep.py:275 12 72
products/warehouse_sources/sources/chargify/source.py:125 products/warehouse_sources/sources/telnyx/source.py:108 16 72
products/warehouse_sources/sources/checkout_com/source.py:246 products/warehouse_sources/sources/plaid/source.py:90 18 72
products/warehouse_sources/sources/coassemble/source.py:60 products/warehouse_sources/sources/inflowinventory/source.py:79 20 72
products/warehouse_sources/sources/coassemble/source.py:60 products/warehouse_sources/sources/okendo/source.py:64 20 72
products/warehouse_sources/sources/coassemble/source.py:60 products/warehouse_sources/sources/onepagecrm/source.py:62 20 72
products/warehouse_sources/sources/codecov/codecov.py:180 products/warehouse_sources/sources/gnews/gnews.py:96 11 72
products/warehouse_sources/sources/cody/source.py:106 products/warehouse_sources/sources/coveralls/source.py:125 12 72
products/warehouse_sources/sources/datahub/datahub.py:431 products/warehouse_sources/sources/unleash/unleash.py:208 11 72
products/warehouse_sources/sources/drata/drata.py:280 products/warehouse_sources/sources/raygun/raygun.py:418 12 72
products/warehouse_sources/sources/dynamics_365_business_central/source.py:84 products/warehouse_sources/sources/power_bi_admin/source.py:160 22 72
products/warehouse_sources/sources/e_conomic/canonical_descriptions.py:232 products/warehouse_sources/sources/e_conomic/canonical_descriptions.py:256 19 72
products/warehouse_sources/sources/e_conomic/e_conomic.py:329 products/warehouse_sources/sources/launchdarkly/launchdarkly.py:144 15 72
products/warehouse_sources/sources/e_conomic/e_conomic.py:329 products/warehouse_sources/sources/mollie/mollie.py:113 15 72
products/warehouse_sources/sources/elasticemail/elasticemail.py:343 products/warehouse_sources/sources/sendgrid/sendgrid.py:462 13 72
products/warehouse_sources/sources/elasticemail/source.py:109 products/warehouse_sources/sources/render/source.py:116 14 72
products/warehouse_sources/sources/freshservice/canonical_descriptions.py:5 products/warehouse_sources/sources/greenhouse/canonical_descriptions.py:5 18 72
products/warehouse_sources/sources/freshservice/canonical_descriptions.py:5 products/warehouse_sources/sources/recharge/canonical_descriptions.py:5 18 72
products/warehouse_sources/sources/freshservice/canonical_descriptions.py:5 products/warehouse_sources/sources/rippling/canonical_descriptions.py:5 18 72
products/warehouse_sources/sources/freshservice/canonical_descriptions.py:5 products/warehouse_sources/sources/salesloft/canonical_descriptions.py:5 18 72
products/warehouse_sources/sources/height/height.py:64 products/warehouse_sources/sources/rentcast/rentcast.py:170 16 72
products/warehouse_sources/sources/honeybadger/honeybadger.py:423 products/warehouse_sources/sources/plivo/plivo.py:372 18 72
products/warehouse_sources/sources/invoiceninja/invoiceninja.py:132 products/warehouse_sources/sources/moxie/moxie.py:65 16 72
products/warehouse_sources/sources/jotform/source.py:73 products/warehouse_sources/sources/knowbe4/source.py:113 20 72
products/warehouse_sources/sources/jotform/source.py:73 products/warehouse_sources/sources/komodor/source.py:98 20 72
products/warehouse_sources/sources/lemlist/lemlist.py:131 products/warehouse_sources/sources/semgrep/semgrep.py:275 16 72
products/warehouse_sources/sources/npm_registry/npm_registry.py:343 products/warehouse_sources/sources/pypi/pypi.py:233 18 72
products/warehouse_sources/sources/onepagecrm/onepagecrm.py:227 products/warehouse_sources/sources/trustpilot/trustpilot.py:378 15 72
products/warehouse_sources/sources/persona/persona.py:371 products/warehouse_sources/sources/stytch/stytch.py:575 16 72
products/warehouse_sources/sources/sftp/sftp.py:341 products/warehouse_sources/sources/sftp/sftp.py:399 13 72
products/warehouse_sources/sources/squadcast/squadcast.py:2 products/warehouse_sources/sources/swarmia/swarmia.py:4 17 72
products/warehouse_sources/backend/temporal/data_imports/sources/billomat/source.py:190 products/warehouse_sources/sources/rokt_ads/source.py:173 20 71
products/warehouse_sources/sources/adapty/source.py:97 products/warehouse_sources/sources/kajabi/source.py:110 11 71
products/warehouse_sources/sources/adobe_analytics/adobe_analytics.py:409 products/warehouse_sources/sources/adobe_analytics/adobe_analytics.py:448 14 71
products/warehouse_sources/sources/aha_ideas/aha_ideas.py:183 products/warehouse_sources/sources/rocketlane/rocketlane.py:117 14 71
products/warehouse_sources/sources/amplitude/source.py:248 products/warehouse_sources/sources/clip/source.py:103 20 71
products/warehouse_sources/sources/amplitude/source.py:248 products/warehouse_sources/sources/pabbly_subscriptions_billing/source.py:54 20 71
products/warehouse_sources/sources/apitally/source.py:88 products/warehouse_sources/sources/twenty/source.py:101 16 71
products/warehouse_sources/sources/asaas/asaas.py:142 products/warehouse_sources/sources/cliniko/cliniko.py:120 17 71
products/warehouse_sources/sources/aws_budgets/source.py:147 products/warehouse_sources/sources/aws_cloudtrail/source.py:155 20 71
products/warehouse_sources/sources/aws_macie/source.py:132 products/warehouse_sources/sources/aws_savings_plans/source.py:135 20 71
products/warehouse_sources/sources/back_market/back_market.py:197 products/warehouse_sources/sources/canny/canny.py:229 14 71
products/warehouse_sources/sources/bamboohr/source.py:88 products/warehouse_sources/sources/raygun/source.py:121 14 71
products/warehouse_sources/sources/buildium/source.py:118 products/warehouse_sources/sources/culture_amp/source.py:64 20 71
products/warehouse_sources/sources/buildium/source.py:118 products/warehouse_sources/sources/phyllo/source.py:64 20 71
products/warehouse_sources/sources/bunny/bunny.py:351 products/warehouse_sources/sources/fleetio/fleetio.py:204 12 71
products/warehouse_sources/sources/codacy/codacy.py:381 products/warehouse_sources/sources/codacy/codacy.py:426 11 71
products/warehouse_sources/sources/codecov/codecov.py:180 products/warehouse_sources/sources/dbt/dbt.py:360 11 71
products/warehouse_sources/sources/codecov/codecov.py:180 products/warehouse_sources/sources/gitguardian/gitguardian.py:85 11 71
products/warehouse_sources/sources/companycam/source.py:89 products/warehouse_sources/sources/opn_payments/source.py:99 16 71
products/warehouse_sources/sources/companycam/source.py:89 products/warehouse_sources/sources/zendesk_sunshine/source.py:138 16 71
products/warehouse_sources/sources/convertkit/convertkit.py:300 products/warehouse_sources/sources/drata/drata.py:323 16 71
products/warehouse_sources/sources/databricks/source.py:149 products/warehouse_sources/sources/flutterwave/source.py:80 20 71
products/warehouse_sources/sources/dynamics365/source.py:135 products/warehouse_sources/sources/greenhouse/source.py:182 14 71
products/warehouse_sources/sources/env0/source.py:53 products/warehouse_sources/sources/soda_cloud/source.py:102 20 71
products/warehouse_sources/sources/fastly/fastly.py:122 products/warehouse_sources/sources/splunk_observability_cloud/splunk_observability_cloud.py:95 13 71
products/warehouse_sources/sources/financial_modelling/financial_modelling.py:273 products/warehouse_sources/sources/plaid/plaid.py:316 16 71
products/warehouse_sources/sources/google_play_console/google_play_console.py:695 products/warehouse_sources/sources/google_play_console/google_play_console.py:726 11 71
products/warehouse_sources/sources/harvest/harvest.py:117 products/warehouse_sources/sources/pexels/pexels.py:79 11 71
products/warehouse_sources/sources/intruder/intruder.py:162 products/warehouse_sources/sources/skyvern/skyvern.py:209 13 71
products/warehouse_sources/sources/intruder/intruder.py:162 products/warehouse_sources/sources/todoist/todoist.py:166 13 71
products/warehouse_sources/sources/invoiceninja/invoiceninja.py:121 products/warehouse_sources/sources/lago/lago.py:75 12 71
products/warehouse_sources/sources/lemlist/lemlist.py:130 products/warehouse_sources/sources/lemlist/lemlist.py:218 17 71
products/warehouse_sources/sources/lightdash/lightdash.py:54 products/warehouse_sources/sources/metabase/metabase.py:103 11 71
products/warehouse_sources/sources/marketo/source.py:87 products/warehouse_sources/sources/workday/source.py:87 21 71
products/warehouse_sources/sources/nuget/nuget.py:487 products/warehouse_sources/sources/plaid/plaid.py:315 13 71
products/warehouse_sources/sources/oncehub/oncehub.py:156 products/warehouse_sources/sources/reply_io/reply_io.py:134 11 71
products/warehouse_sources/backend/temporal/data_imports/sources/google_search_console/google_search_console.py:267 products/warehouse_sources/sources/google_analytics/google_analytics.py:104 15 70
products/warehouse_sources/backend/temporal/data_imports/sources/servicenow/source.py:86 products/warehouse_sources/sources/elasticsearch/source.py:109 21 70
products/warehouse_sources/sources/active_campaign/active_campaign.py:123 products/warehouse_sources/sources/heyreach/heyreach.py:131 11 70
products/warehouse_sources/sources/aha_ideas/aha_ideas.py:181 products/warehouse_sources/sources/back_market/back_market.py:200 16 70
products/warehouse_sources/sources/airwallex/airwallex.py:175 products/warehouse_sources/sources/opsgenie/opsgenie.py:126 12 70
products/warehouse_sources/sources/appstack/source.py:64 products/warehouse_sources/sources/tmdb/source.py:67 19 70
products/warehouse_sources/sources/auth0/auth0.py:108 products/warehouse_sources/sources/gainsight_cs/gainsight_cs.py:117 13 70
products/warehouse_sources/sources/aws_compute_optimizer/aws_compute_optimizer.py:115 products/warehouse_sources/sources/aws_config/aws_config.py:115 11 70
products/warehouse_sources/sources/azure_devops/azure_devops.py:744 products/warehouse_sources/sources/monday/monday.py:440 13 70
products/warehouse_sources/sources/bettermode/source.py:96 products/warehouse_sources/sources/gusto/source.py:83 21 70
products/warehouse_sources/sources/bloomerang/bloomerang.py:204 products/warehouse_sources/sources/thinkific_courses/thinkific_courses.py:95 11 70
products/warehouse_sources/sources/bluetally/bluetally.py:96 products/warehouse_sources/sources/buzzsprout/buzzsprout.py:268 16 70
products/warehouse_sources/sources/campaign_monitor/campaign_monitor.py:341 products/warehouse_sources/sources/heroku/heroku.py:280 11 70
products/warehouse_sources/sources/capsule_crm/capsule_crm.py:133 products/warehouse_sources/sources/pexels/pexels.py:140 19 70
products/warehouse_sources/sources/cohere/source.py:100 products/warehouse_sources/sources/polar/source.py:145 19 70
products/warehouse_sources/sources/cronitor/cronitor.py:487 products/warehouse_sources/sources/newsdata/newsdata.py:175 13 70
products/warehouse_sources/sources/deno_deploy/deno_deploy.py:292 products/warehouse_sources/sources/teamwork/teamwork.py:175 20 70
products/warehouse_sources/sources/ghost/ghost.py:153 products/warehouse_sources/sources/ynab/ynab.py:47 15 70
products/warehouse_sources/sources/gologin/gologin.py:84 products/warehouse_sources/sources/systeme/systeme.py:68 15 70
products/warehouse_sources/sources/housecall_pro/settings.py:121 products/warehouse_sources/sources/housecall_pro/settings.py:138 14 70
products/warehouse_sources/sources/hubplanner/hubplanner.py:220 products/warehouse_sources/sources/justsift/justsift.py:123 22 70
products/warehouse_sources/sources/jamf_pro/source.py:133 products/warehouse_sources/sources/metabase/source.py:106 22 70
products/warehouse_sources/sources/justsift/justsift.py:137 products/warehouse_sources/sources/shippo/shippo.py:263 11 70
products/warehouse_sources/sources/listmonk/listmonk.py:205 products/warehouse_sources/sources/megaphone/megaphone.py:146 11 70
products/warehouse_sources/sources/northpass_lms/northpass_lms.py:359 products/warehouse_sources/sources/raygun/raygun.py:417 12 70
products/warehouse_sources/sources/paperform/paperform.py:296 products/warehouse_sources/sources/retently/retently.py:245 12 70
products/warehouse_sources/sources/pardot/pardot.py:225 products/warehouse_sources/sources/pardot/pardot.py:338 14 70
products/warehouse_sources/sources/plain/queries.py:23 products/warehouse_sources/sources/plain/queries.py:251 20 70
products/warehouse_sources/sources/planhat/planhat.py:73 products/warehouse_sources/sources/qualaroo/qualaroo.py:180 22 70
products/warehouse_sources/sources/planhat/planhat.py:73 products/warehouse_sources/sources/recruitee/recruitee.py:169 22 70
products/warehouse_sources/sources/pulumi_cloud/pulumi_cloud.py:350 products/warehouse_sources/sources/pulumi_cloud/pulumi_cloud.py:425 11 70
products/warehouse_sources/sources/pulumi_cloud/pulumi_cloud.py:350 products/warehouse_sources/sources/pulumi_cloud/pulumi_cloud.py:546 11 70
products/warehouse_sources/sources/recreation/recreation.py:189 products/warehouse_sources/sources/spotlercrm/spotlercrm.py:135 21 70
products/warehouse_sources/sources/secoda/secoda.py:91 products/warehouse_sources/sources/simplecast/simplecast.py:107 22 70
products/warehouse_sources/sources/squadcast/squadcast.py:3 products/warehouse_sources/sources/sumo_logic/sumo_logic.py:4 16 70
products/warehouse_sources/sources/surveymonkey/surveymonkey.py:248 products/warehouse_sources/sources/surveysparrow/surveysparrow.py:233 16 70
⚠️ Duplication (TypeScript) — 15 new duplicated blocks (worst 344 tokens)

New TypeScript code duplication introduced by this branch. Fails at 70+ tokens in app code, or 150+ tokens when both copies live in test files. Advisory while the gate proves itself: extract a shared helper instead of copying.

First copy Second copy Lines Tokens
frontend/src/scenes/session-recordings/SessionsRecordings-player-failure.stories.tsx:19 frontend/src/scenes/session-recordings/player/sidebar/PlayerSidebarOverviewTab.stories.tsx:32 86 344
services/mcp/scripts/generate-tools.ts:2280 services/mcp/scripts/generate-tools.ts:2305 20 180
frontend/src/scenes/session-recordings/playlist/SessionRecordingPreviewCompact.tsx:1 frontend/src/scenes/session-recordings/playlist/SessionRecordingPreviewFeed.tsx:1 27 138
services/mcp/scripts/generate-tools.ts:2259 services/mcp/scripts/generate-tools.ts:2287 12 138
frontend/src/lib/utils/liquid.ts:188 nodejs/src/cdp/utils/liquid.ts:92 22 137
frontend/src/lib/utils/liquid.ts:155 nodejs/src/cdp/utils/liquid.ts:59 28 134
frontend/src/scenes/session-recordings/playlist/SessionRecordingPreview.tsx:248 frontend/src/scenes/session-recordings/playlist/SessionRecordingPreviewCompact.tsx:186 18 120
frontend/src/lib/integrations/integrationsLogic.ts:714 frontend/src/scenes/settings/organization/organizationIntegrationsLogic.ts:214 51 112
services/mcp/scripts/yaml-config-schema.ts:188 services/mcp/scripts/yaml-config-schema.ts:624 30 100
products/ai_observability/frontend/settings/AddKeyModal.tsx:184 products/ai_observability/frontend/settings/LLMProviderKeysSettings.tsx:209 24 86
frontend/src/scenes/feature-flags/featureFlagsLogic.ts:313 frontend/src/scenes/feature-flags/flagSelectionLogic.ts:235 15 82
frontend/src/scenes/session-recordings/playlist/SessionRecordingPreviewCompact.tsx:147 frontend/src/scenes/session-recordings/playlist/SessionRecordingPreviewFeed.tsx:131 16 82
services/mcp/scripts/yaml-config-schema.ts:199 services/mcp/src/tools/toolDefinitions.ts:22 19 81
frontend/src/scenes/feature-flags/featureFlagsLogic.ts:313 frontend/src/scenes/feature-flags/featureFlagsLogic.ts:542 15 80
frontend/src/lib/statistics.ts:19 packages/quill/packages/charts/src/utils/statistics.ts:20 12 71
🚨 Comment density — 7% of added code lines are comments (19 of 259)

This section warns when comments are more than 3% of the code lines a PR adds, and alerts above 6%. Before agent-assisted PRs, the typical share was about 2%. Only full-line comments count. Docstrings, generated files, snapshots, migrations, and workflow files are left out.

Comments that restate the code, record how the change came about, or narrate the next line add noise for the next reader. Keep the comments that explain a reason the code cannot show, and remove the rest. See .agents/skills/writing-code-comments/SKILL.md for the house rules.

Files with the most added comment lines:

File Comment lines Added lines
nodejs/src/cdp/services/hogflows/actions/hog_function.ts 8 90
nodejs/src/cdp/services/messaging/recipient-preferences.service.ts 5 25
nodejs/src/cdp/services/hogflows/actions/hog_function.test.ts 2 95
nodejs/src/cdp/types.ts 2 4
nodejs/src/cdp/services/managers/team-workflows-config.service.ts 1 9
nodejs/src/cdp/services/messaging/recipient-preferences.service.test.ts 1 36

This check does not block merging. It updates on every push and clears when the share drops.

⚠️ Bundle size — 🔺 +105 B (+0.0%)

Uncompressed size of every built .js bundle, compared against the base branch.

Total: 76.14 MiB · 🔺 +105 B (+0.0%)

No file changed by more than 1000 B.

Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report

✅ Eager graph — within budget

How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.

Root Eager (shipped) Δ vs base Budget
entry (logged-out pages, app bootstrap)
src/index.tsx
1.01 MiB · 25 files no change █████████░ 88.1% of 1.14 MiB
logged-out boot: index + App + bootApp (preloaded by every page, including /login)
src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
2.98 MiB · 626 files no change ██████████ 98.4% of 3.03 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
4.00 MiB · 1,275 files no change ██████████ 99.7% of 4.01 MiB
dashboard scene
src/scenes/dashboard/Dashboard.tsx
9.44 MiB · 3,689 files no change ██████████ 96.0% of 9.84 MiB
today home path
src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
4.92 MiB · 1,794 files no change ██████████ 99.7% of 4.93 MiB
AI-first home path
src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
6.17 MiB · 2,262 files no change ██████████ 98.4% of 6.27 MiB
events scene
src/scenes/activity/explore/EventsScene.tsx
8.85 MiB · 3,411 files no change █████████░ 94.0% of 9.41 MiB
web analytics scene
src/scenes/web-analytics/WebAnalyticsScene.tsx
9.65 MiB · 3,688 files no change █████████░ 92.0% of 10.49 MiB
replay detail scene
src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
7.37 MiB · 2,651 files no change █████████░ 90.7% of 8.13 MiB

🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 products/product_analytics/frontend/insights/activityDescriptions stays out of src/index.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/svg/ stays out of src/index.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/components/ stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/layout/navigation-3000/navigationLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/scenes/dashboard/dashboardLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/lemon-ui/LemonMarkdown/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/RichContentEditor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/CodeSnippet/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/taxonomy/core-filter-definitions-by-group.json stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/zod/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/logic/billing/billingLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/ProductEmptyState/productSetupPreloadLogic.ts stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/kea-test-utils/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/product_analytics/frontend/insights/activityDescriptions stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/dashboards/frontend/widgets/previews/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/session-recordings/player/sessionRecordingPlayerLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/panel-layout/ProjectTree/menus/SessionReplayMenuItems.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/taxonomy/core-filter-definitions-by-group.json stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/navigation/projectNoticeLogic.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/navigation/ImpersonationNotice/ImpersonationNotice.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/cohorts/cohortSavedToast.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/wizard/frontend/runs/WizardRunDetailsDrawer.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayShell.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayContextPanelFloating.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodaySidePanel.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayTopBar.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/todayRailItems.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/subscriptions/frontend/components/Subscriptions/exportNudge/exportNudgeLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/billing/paymentEntryLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@tiptap/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/prosemirror- stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/re2js/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/react-markdown/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/Command/Command.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 packages/quill/packages/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 zod/v4/locales/de.js stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/svg/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/components/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/web-analytics/tiles/WebAnalyticsTile.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/queries/validators.js stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/queries/web-analytics-validators.js stays out of src/scenes/dashboard/Dashboard.tsx
🟢 node_modules/re2js/ stays out of src/scenes/dashboard/Dashboard.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/scenes/project-homepage/today/TodayReportPage.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/queries/Query/Query.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 packages/quill/packages/charts/ stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 products/posthog_ai/frontend/components/tool/widgets/VisualizationWidget.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 products/posthog_ai/frontend/components/tool/widgets/RecordingsWidget.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 src/queries/Query/Query.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 products/posthog_ai/frontend/api/primitives.ts stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 src/scenes/notebooks/Notebook/notebookLogic.ts stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/scenes/web-analytics/tiles/WebAnalyticsTile.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/validators.js stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/web-analytics-validators.js stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 node_modules/re2js/ stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/scenes/web-analytics/LiveMetricsDashboard/LiveWebAnalyticsMetrics.tsx stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 products/product_analytics/frontend/insights/trends/WorldMap/countryVectors.tsx stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 src/queries/validators.js stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 node_modules/re2js/ stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 src/scenes/settings/SettingsMap.tsx stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 @jspm/core/nodelibs/browser/fs stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/re2js/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/d3/src/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx

Largest files eagerly shipped from src/index.tsx
Size File
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
24.6 KiB ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js
6.3 KiB ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js
4.7 KiB ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js
4.0 KiB ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js
1.9 KiB src/lib/utils/bootTiming.ts
1.7 KiB src/index.tsx
1.7 KiB ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js
1.2 KiB src/RootErrorBoundary.tsx
949 B src/scenes/ChunkLoadErrorBoundary.tsx
Largest files eagerly shipped from src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
Size File
325.3 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
224.1 KiB ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.2 KiB src/products.tsx
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx
41.9 KiB ../node_modules/.pnpm/@dnd-kit+core@6.0.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js
36.4 KiB ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js
28.3 KiB src/lib/constants.tsx
24.6 KiB ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
Size File
325.3 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
224.1 KiB ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.2 KiB src/products.tsx
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx
41.9 KiB ../node_modules/.pnpm/@dnd-kit+core@6.0.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js
36.4 KiB ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js
32.7 KiB src/lib/utils/eventUsageLogic.ts
28.6 KiB ../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.js
Largest files eagerly shipped from src/scenes/dashboard/Dashboard.tsx
Size File
325.3 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.js
224.1 KiB ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
144.1 KiB ../packages/quill/packages/primitives/dist/index.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.2 KiB src/products.tsx
94.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js
92.6 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
89.0 KiB src/lib/api.ts
84.9 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/surveys-preview.js
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
Size File
325.3 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.js
224.1 KiB ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.2 KiB src/products.tsx
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx
68.0 KiB ../products/posthog_ai/frontend/logics/runStreamLogic.ts
41.9 KiB ../node_modules/.pnpm/@dnd-kit+core@6.0.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js
36.4 KiB ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
Size File
325.3 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.js
224.1 KiB ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
144.1 KiB ../packages/quill/packages/primitives/dist/index.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.2 KiB src/products.tsx
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx
68.0 KiB ../products/posthog_ai/frontend/logics/runStreamLogic.ts
41.9 KiB ../node_modules/.pnpm/@dnd-kit+core@6.0.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js
Largest files eagerly shipped from src/scenes/activity/explore/EventsScene.tsx
Size File
325.3 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.js
224.1 KiB ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
144.1 KiB ../packages/quill/packages/primitives/dist/index.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.2 KiB src/products.tsx
94.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js
92.6 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
89.0 KiB src/lib/api.ts
75.3 KiB src/scenes/dashboard/dashboardLogic.tsx
Largest files eagerly shipped from src/scenes/web-analytics/WebAnalyticsScene.tsx
Size File
325.3 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.js
224.1 KiB ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
144.1 KiB ../packages/quill/packages/primitives/dist/index.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.2 KiB src/products.tsx
94.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js
92.6 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
89.0 KiB src/lib/api.ts
84.9 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/surveys-preview.js
Largest files eagerly shipped from src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
Size File
325.3 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
320.2 KiB ../node_modules/.pnpm/posthog-js@1.444.1_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/rrweb.js
239.9 KiB ../packages/quill/packages/quill/dist/index.js
224.1 KiB ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
104.2 KiB src/products.tsx
94.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js
92.6 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx

Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479

✅ Frontend layers — no new upward imports, 0 removed

Static imports from a lower frontend layer into a higher one (layers, lowest first: kernel, shell, query, features). Compared with the base branch, so an import that a PR also adds to layer-baseline.txt still shows here. Sizes are the source bytes on the eager path of every logged-in page.

Layer Eager source bytes Δ vs base
kernel 2.96 MiB 🔺 +408 B (+0.0%)
shell 2.38 MiB no change
query 56.4 KiB no change
features 534.0 KiB no change

Download the interactive layer graph for this PR.

Posted automatically by check-layers

✅ Toolbar bundle — eager 2.34 MiB within budget

What the toolbar ships to customer pages, measured from the esbuild output (minified, post-tree-shake). The eager set is the entry plus everything statically imported from it — fetched before any feature runs; deferred chunks load lazily. The eager guardrail is 5.72 MiB. Each output file must also stay below 10 MB, where CloudFront stops compressing it. The module boundary is enforced separately by check-toolbar-graph.

Metric Size Δ vs base Budget
Eager (shipped)
entry + static imports
2.34 MiB · 19 files no change ████░░░░░░ 40.9% of 5.72 MiB
Deferred (lazy) 2.11 MiB · 42 files no change n/a — loads on demand
Loader dist/toolbar.js 1.2 KiB no change █░░░░░░░░░ 6.0% of 19.5 KiB
Largest eagerly-shipped chunks
Size File
944.9 KiB dist/toolbar/toolbar-app-5IRQLJNF.css
696.2 KiB dist/toolbar/chunk-chunk-G7TUEAZT.js
261.2 KiB dist/toolbar/chunk-chunk-S4X57V7L.js
131.8 KiB dist/toolbar/chunk-chunk-FDH2IBXT.js
130.3 KiB dist/toolbar/chunk-chunk-53PWSAPR.js
75.7 KiB dist/toolbar/toolbar-app-RMMUGABF.js
69.0 KiB dist/toolbar/chunk-chunk-TSAL54PB.js
33.8 KiB dist/toolbar/chunk-chunk-YOQ52YRO.js
21.7 KiB dist/toolbar/chunk-chunk-OG7ZVYJS.js
6.8 KiB dist/toolbar/chunk-chunk-DV7IWQNF.js

Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile

✅ Dist folder size — 🔺 +14.4 KiB (+0.0%)

Total size of the built frontend/dist folder (all assets), compared against the base branch.

Total: 969.77 MiB · 🔺 +14.4 KiB (+0.0%)

ℹ️ MCP UI apps size — 35 app(s), 29126.5 KB JS

Built size of each MCP UI app (main.js + styles.css).

App JS CSS
debug 844.4 KB 211.6 KB
explain-chart 1119.1 KB 211.6 KB
action 767.8 KB 211.6 KB
action-list 835.4 KB 211.6 KB
cohort 766.8 KB 211.6 KB
cohort-list 834.4 KB 211.6 KB
email-template 766.6 KB 211.6 KB
error-details 771.7 KB 211.6 KB
error-issue 769.0 KB 211.6 KB
error-issue-list 836.8 KB 211.6 KB
experiment 832.5 KB 211.6 KB
experiment-list 836.1 KB 211.6 KB
experiment-results 834.3 KB 211.6 KB
feature-flag 834.8 KB 211.6 KB
feature-flag-list 838.5 KB 211.6 KB
feature-flag-testing 770.0 KB 211.6 KB
inline-scan 767.2 KB 211.6 KB
insight-actors 833.8 KB 211.6 KB
llm-costs 831.1 KB 211.6 KB
session-recording 769.0 KB 211.6 KB
survey 768.4 KB 211.6 KB
survey-global-stats 831.2 KB 211.6 KB
survey-list 836.1 KB 211.6 KB
survey-stats 831.2 KB 211.6 KB
trace-span 767.1 KB 211.6 KB
trace-span-list 835.3 KB 211.6 KB
vision-observation-list 834.5 KB 211.6 KB
workflow 767.1 KB 211.6 KB
workflow-list 834.7 KB 211.6 KB
workflow-setup-status 766.8 KB 211.6 KB
query-results 1090.8 KB 211.6 KB
render-ui 1195.0 KB 211.6 KB
visual-review-snapshots 771.6 KB 211.6 KB
workflow-data-suggestions 769.4 KB 211.6 KB
workflow-sending-rules 768.1 KB 211.6 KB
ℹ️ MCP agent API — agent-facing tool changes

What this PR changes for agents, from the tool schema snapshots and tool definitions.

Tools changed (2):

Tool Params Scopes Annotations Schema chars
project-settings-update 77,879 -> 78,132
workflows-sending-rules-update +marketing_frequency_cap_hold_hours 1,629 -> 1,970
⚠️ MCP snapshots — 2 updated (2 modified, 0 added, 0 deleted)

Snapshots: MCP unit test snapshots updated

Changes: 2 snapshots (2 modified, 0 added, 0 deleted)

What this means:

  • Snapshots have been automatically updated to match current output

Next steps:

  • Review the changes to ensure they're intentional
  • If unexpected, investigate what caused the output to change

Review snapshot changes →

@mayteio
mayteio force-pushed the posthog/workflows-frequency-cap-hold branch from 7935842 to 75f5a66 Compare November 2, 2026 16:54
@mayteio
mayteio changed the base branch from master to posthog/workflows-frequency-cap-hold-setting November 2, 2026 16:54
@mayteio
mayteio added this pull request to stack #127593 November 2, 2026 16:55
@mayteio
mayteio force-pushed the posthog/workflows-frequency-cap-hold branch from 75f5a66 to 1bf9f2c Compare November 2, 2026 17:06
@mayteio

mayteio commented Nov 3, 2026

Copy link
Copy Markdown
Contributor Author

@PostHog review

@mayteio
mayteio marked this pull request as ready for review November 3, 2026 08:59
@posthog

posthog Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

@mayteio PostHog Review is reviewing this pull request.

@parameterai

parameterai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Risk: Medium · 1 medium

This PR lets capped workflow marketing messages wait for a free frequency-cap slot instead of being skipped: the cap check now returns the next slot time, and the handler re-schedules the job until a slot frees or a per-team hold deadline passes. The cap accounting itself stays atomic and sound; the main risk is that the hold deadline is never cleared after a send claims a slot, so email-queue delays or retries past the deadline silently drop sends that already passed the cap.

Sentinel reviewed 6f10e97 · Review settings

@pr-assigner-resolver-posthog
pr-assigner-resolver-posthog Bot requested a review from a team November 3, 2026 09:01

@posthog posthog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PostHog Review · Standard · reviewed 1bf9f2c: 2 Should fix.

See this review and its findings in PostHog Review. Comment @posthog review --deep for a Deep review. A Deep review takes longer and looks deeper than a Standard review.

A marketing message over the frequency cap used to be skipped straight away. Teams can now set marketing_frequency_cap_hold_hours: a capped step waits for the person's next free slot, re-checks the cap when it wakes, and is skipped only if the hold ends first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Generated-By: PostHog Desktop
Task-Id: 436ae568-8289-4257-b029-99ab5ab69aac
@mayteio
mayteio force-pushed the posthog/workflows-frequency-cap-hold branch from 1bf9f2c to d695f42 Compare November 3, 2026 09:52
…d continuations

A held send that wakes well after its hold ended now skips without claiming a slot. An email queue continuation that finds the person capped skips as before instead of holding, because a hold would drop its pending send.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Generated-By: PostHog Desktop
Task-Id: 436ae568-8289-4257-b029-99ab5ab69aac
@mayteio mayteio added the stamphog Request AI approval (no full review) label Nov 3, 2026 — with PostHog

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not approved — this change needs a human reviewer.

Re-add the stamphog label to request another review once you have addressed this.

Owning-team authorship and strong familiarity provide assurance for the risky changes. The pending-email concern is addressed by excluding continuations from holding, but @PostHog's deadline concern remains partially unresolved; address it or get reviewer acceptance before re-requesting.

  • Author wrote 87% of the modified lines and has 38 merged PRs in these paths (familiarity STRONG).
  • @PostHog, nodejs/src/cdp/services/hogflows/actions/hog_function.ts: the outdated deadline concern is only partially fixed. frequencyCapHoldExpired permits cap checks for five minutes after the stored deadline; if a slot is free during that interval, the message can still send after its hold ends. Enforce the deadline before reserving a slot, or obtain explicit acceptance of the grace period from the reviewer before re-requesting.
Gate mechanics and policy version
Gate Result
prerequisites ✓ all clear
deny-list ✓ no deny categories matched
size ✓ 157L, 4F substantive, 301L/6F incl. docs/generated/snapshots — within ceiling
tier ✓ T1-agent / T1d-complex (301L, 6F, single-area, feat)
stamphog 2.7.0 .stamphog/policy.yml @ bc9faa9 · reviewed head bc9faa9

@stamphog stamphog Bot removed the stamphog Request AI approval (no full review) label Nov 3, 2026
A send whose next slot frees after the hold would end now skips at once. A held send always wakes after its slot frees and before the deadline, so the deadline check on wake needs no grace period.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Generated-By: PostHog Desktop
Task-Id: 436ae568-8289-4257-b029-99ab5ab69aac
@mayteio mayteio added the stamphog Request AI approval (no full review) label Nov 3, 2026 — with PostHog

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved.

The risky messaging changes have owning-team authorship and STRONG familiarity, with added tests providing assurance. The older bot review supplies no concrete concerns to verify in the provided context, and no current-head reviews or other blocking grounds are present.

  • Author wrote 87% of the modified lines and has 38 merged PRs in these paths (familiarity STRONG).
Gate mechanics and policy version
Gate Result
prerequisites ✓ all clear
deny-list ✓ no deny categories matched
size ✓ 156L, 4F substantive, 322L/6F incl. docs/generated/snapshots — within ceiling
tier ✓ T1-agent / T1d-complex (322L, 6F, single-area, feat)
stamphog 2.7.0 .stamphog/policy.yml @ 6f10e97 · reviewed head 6f10e97

@mayteio mayteio added the cross-lane-change Allow for cross lane (i.e. django + rust) changes to merge at once label Nov 3, 2026
@mayteio

mayteio commented Nov 3, 2026

Copy link
Copy Markdown
Contributor Author

/trunk merge

@trunk-io
trunk-io Bot merged commit 7a1cda6 into master Nov 3, 2026
248 of 250 checks passed
@trunk-io
trunk-io Bot deleted the posthog/workflows-frequency-cap-hold branch November 3, 2026 10:38
(await this.recipientPreferencesService.isFrequencyCapped(hogFunctionInvocation, action))
) {
// A held send that wakes after its hold ended is skipped before the check, so it never claims a slot late.
const holdExpired = frequencyCapHoldExpired(invocation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Held emails that pass the cap are silently dropped when the email queue delays them past the hold deadline

A held send that wakes, claims a frequency-cap slot, and routes to the email queue is skipped as frequency_capped if the queue delays it past the hold deadline — silently dropping a message that already passed the cap and wasting the cap slot it consumed (blocking another held message from using it).

How:

  1. A capped send is held; frequencyCapHoldDeadlineAt is set on currentAction (hog_function.ts:221) and never cleared anywhere.
  2. The wake near the deadline passes the cap, claims a slot via the Lua ZADD, and routeEmailToQueue moves the job to the email queue — the deadline still set, hogFunctionState now set too.
  3. email.service.ts parks email-queue sends for team-cap/pacing/SES-throttle retries up to CAP_RETRY_MAX_MS = 1 hour per retry (email.service.ts:220, 698, 773).
  4. The next dequeue after the deadline hits frequencyCapHoldExpired (hog_function.ts:555-560), which ignores hogFunctionState, forces {capped: false}, and skips the send at line 594 — even though the send held a slot. The hogFunctionState guard at line 646 protects only the still-capped case, not this one.

Fix: Clear frequencyCapHoldDeadlineAt (or skip the holdExpired check) once the step has claimed a slot / set hogFunctionState, so continuations and retries of an already-claimed send are never dropped by the expired deadline.


React with 👍 if useful or 👎 if not

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valid. Fixed in #128093: the expired-hold check now ignores email queue continuations.

@deployment-status-posthog

deployment-status-posthog Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-11-03 11:17 UTC Run
prod-us ✅ Deployed 2026-11-03 11:53 UTC Run
prod-eu ✅ Deployed 2026-11-03 11:48 UTC Run

trunk-io Bot pushed a commit that referenced this pull request Nov 4, 2026
…heck

Node images deploy before the Django image that runs bin/migrate, so a Node
release that reads a new column can start while the column is still missing.
After #127579 that meant "column does not exist" errors until Django caught up.

- Dockerfile.node writes nodejs/schema-requirements.json at build time. The
  generator scans nodejs/src for Django table names, maps each table to its
  owning app from the migration files (CreateModel, db_table, AlterModelTable,
  so moved models count for both apps) and records each scoped app's
  max_migration.txt leaf. Squash leaves also record their replaces list.
  ClickHouse and apps routed in products/db_routing.yaml are skipped.
- Bind mounts feed the migration trees to the generator, so no Python, no
  Django and no extra layer in the Node build. The step lives in the
  Dockerfile so every build of Dockerfile.node gets the file.
- nodejs/dist/schema-check/cli.js reads the manifest and checks
  django_migrations on the primary (DATABASE_URL or the POSTHOG_DB_* parts,
  never the replica). Exit 0 applied, 1 missing, 2 cannot check.
  --wait-seconds polls. statement_timeout goes through set_config inside a
  transaction because PgBouncer rejects it as a startup parameter.
- The DATABASE_URL builder moves to common/config/database-url.ts so the CLI
  reuses it without loading the full service config.
- safe-django-migrations.md: Node/Rust readers of a new column need the
  migration live first; drops stay code-first.

The deploy hook that runs the CLI lives in the charts repo and ships disabled.
Hook timing and which apps enable it stay a cloud-platform call.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cross-lane-change Allow for cross lane (i.e. django + rust) changes to merge at once stamphog Request AI approval (no full review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants