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

@waleedlatif1waleedlatif1 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

vercelBot commented Jul 13, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
docsSkippedSkippedJul 13, 2026 7:31pm

Request Review

@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@greptile

@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@cursor review

@cursor

cursorBot 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-appsBot 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

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

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

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

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

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

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

Comment threadapps/sim/blocks/blocks/flint.ts Outdated
@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@greptile

@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@cursor review

Comment threadapps/sim/tools/flint/get_task.ts

@cursorcursorBot 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
CollaboratorAuthor

@greptile

@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@cursor review

Comment threadapps/sim/blocks/blocks/flint.ts
@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@greptile

@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@cursor review

@cursorcursorBot 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 stagingJul 13, 2026
18 checks passed
@waleedlatif1
waleedlatif1 deleted the worktree-flint-integration branch July 13, 2026 20:06
@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@greptile

@waleedlatif1

Copy link
Copy Markdown
CollaboratorAuthor

@cursor review

@cursorcursorBot 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 CursorFix in Web

Reviewed by Cursor Bugbot for commit 4458216. Configure here.

Sign up for freeto 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

@waleedlatif1