Skip to content

feat(flint): add Flint integration with agent task tools, block, and docs#5641

Merged
waleedlatif1 merged 5 commits into
stagingfrom
worktree-flint-integration
Jul 13, 2026
Merged

feat(flint): add Flint integration with agent task tools, block, and docs#5641
waleedlatif1 merged 5 commits into
stagingfrom
worktree-flint-integration

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add Flint integration (Agent Tasks API): flint_create_task (prompt tasks), flint_generate_pages (template-based page generation, 1-10 pages), flint_get_task (status + created/modified/deleted pages)
  • Bearer API-key auth against https://app.tryflint.com/api/v1; items JSON parsed/validated at execution time so block references survive serialization
  • New Flint block with operation dropdown, conditional fields, advanced-mode publish/callback options, wand config for the pages JSON, and 8 BlockMeta templates + 3 skills
  • FlintIcon (monochrome, currentColor for bare/theme-safe rendering), registered in tool/block registries and icon mappings, generated docs page
  • No file upload/download endpoints exist in the Flint API, so no file-handling plumbing is needed

Manual Description

Flint is an AI website builder — this integration lets workflows drive its background agent over the Agent Tasks API (two endpoints: POST /agent/tasks, GET /agent/tasks/{taskId}).

To exercise it manually:

  1. Drop the Flint block on the canvas and paste a Flint API key (ak_..., from Flint team settings).
  2. Create Task: enter a Site ID and a prompt like "Add a new About page with a team section" — returns taskId with status running.
  3. Generate Pages: enter the Site ID, a template page slug (e.g. /case-studies/template), and a JSON array of 1-10 {targetPageSlug, context} items (the wand can generate it) — returns a taskId.
  4. Get Task: poll with the returned taskId until status is completed (exposes pagesCreated/pagesModified/pagesDeleted with preview/edit/published URLs) or failed (exposes errorMessage).
  5. Advanced mode adds a Publish on Completion switch and a webhook Callback URL for both create operations.

Type of Change

  • New feature

Testing

Typecheck, biome, check:bare-icons, and block/tool registry test suites (168 tests) pass; tools validated against https://www.flint.com/docs/api

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Jul 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Jul 13, 2026 7:31pm

Request Review

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor

cursor Bot commented Jul 13, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Workflows can trigger live site changes and optional auto-publish via a third-party API using stored API keys; scope is limited to a new integration following existing tool/block patterns with input validation.

Overview
Adds a Flint integration so workflows can drive Flint’s Agent Tasks API (Bearer API key against https://app.tryflint.com/api/v1).

Three new tools cover the task lifecycle: create task from a natural-language prompt, generate pages (1–10 items from a template slug, with JSON parse/validation at execution time), and get task (status plus created/modified/deleted page URLs). A new Flint canvas block wires those operations with conditional fields, advanced publish / callback options, and coercePublish so an explicit false is not dropped. Catalog surfaces get FlintIcon, block/tool registry entries, integrations.json, docs (flint.mdx), and BlockMeta templates/skills.

Reviewed by Cursor Bugbot for commit 4458216. Configure here.

@greptile-apps

greptile-apps Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a Flint integration for running and polling background agent tasks. The main changes are:

  • New Flint block with create, generate pages, and get task operations.
  • New Flint tools for Agent Tasks API requests and response shaping.
  • Flint icon, registry, integration metadata, and docs entries.
  • Runtime validation for generated page items.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
apps/sim/blocks/blocks/flint.ts Adds the Flint block and preserves explicit publish-off values through parameter mapping.
apps/sim/tools/flint/create_task.ts Adds task creation and fails responses that do not return a usable task ID.
apps/sim/tools/flint/generate_pages.ts Adds page generation with item validation and task ID response checks.
apps/sim/tools/flint/get_task.ts Adds task polling with normalized page outputs and missing task ID handling.
apps/sim/tools/flint/utils.ts Adds shared Flint API URL, bearer headers, and user-only API key configuration.
apps/sim/tools/registry.ts Registers the Flint tools under their matching tool IDs.

Reviews (6): Last reviewed commit: "fix(flint): drop json-object generation ..." | Re-trigger Greptile

Comment thread apps/sim/blocks/blocks/flint.ts Outdated
Comment thread apps/sim/blocks/blocks/flint.ts
Comment thread apps/sim/tools/flint/create_task.ts
Comment thread apps/sim/tools/flint/generate_pages.ts
Comment thread apps/sim/blocks/blocks/flint.ts
@greptile-apps

greptile-apps Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds Flint as a new Sim integration. The main changes are:

  • New Flint block with create, generate pages, and get task operations.
  • New Flint tool configs for the Agent Tasks API.
  • Flint icon, registry entries, integration metadata, and docs page.
  • Runtime JSON parsing for generated page items.

Confidence Score: 4/5

The Flint publish mapping needs a fix before merging.

  • Registry, icon, API-key visibility, and JSON item handling follow the established integration patterns.
  • The block can omit an explicit publish opt-out before the request reaches Flint.
  • That can make live publishing depend on Flint's default instead of the user's switch value.

apps/sim/blocks/blocks/flint.ts

Security Review

The publish option can be omitted when a user explicitly turns publishing off, which may allow live Flint site changes if the API default publishes.

Important Files Changed

Filename Overview
apps/sim/blocks/blocks/flint.ts Adds the Flint block, UI fields, tool mapping, metadata templates, and skills; the publish mapping drops explicit false values.
apps/sim/tools/flint/create_task.ts Adds the create task ToolConfig with bearer auth, POST body construction, and task-created output mapping.
apps/sim/tools/flint/generate_pages.ts Adds the generate pages ToolConfig with item parsing, validation, and request body construction.
apps/sim/tools/flint/get_task.ts Adds the task polling ToolConfig and normalizes returned page arrays into nullable page objects.
apps/sim/tools/flint/utils.ts Adds shared Flint API URL, bearer headers, and user-only API key parameter metadata.
apps/sim/tools/registry.ts Registers the three Flint tools under matching snake_case IDs.
apps/sim/blocks/registry-maps.ts Registers the Flint block and metadata in the block registries.
apps/sim/components/icons.tsx Adds the Sim Flint icon with currentColor fills.
apps/docs/components/icons.tsx Adds the docs Flint icon with currentColor fills.
apps/docs/content/docs/en/integrations/flint.mdx Adds the Flint integration documentation page.

Reviews (2): Last reviewed commit: "feat(flint): add Flint integration with ..." | Re-trigger Greptile

Comment thread apps/sim/blocks/blocks/flint.ts Outdated
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/tools/flint/get_task.ts

@cursor cursor 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.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit ee0eead. Configure here.

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/blocks/blocks/flint.ts
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor 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.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 4458216. Configure here.

@waleedlatif1 waleedlatif1 merged commit e94e514 into staging Jul 13, 2026
18 checks passed
@waleedlatif1 waleedlatif1 deleted the worktree-flint-integration branch July 13, 2026 20:06
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor 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.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4458216. Configure here.

if (value === true || value === 'true') return true
if (value === false || value === 'false') return false
return undefined
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Off publish switch still omits field

Medium Severity

coercePublish returns undefined when Publish on Completion was never toggled, so publish is omitted from the Flint request. The switch still renders off via Boolean(null/undefined), so the UI looks unpublished while Flint can apply its server default. Basic-mode runs never show the switch, so they always hit that omit path.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4458216. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant