Flint
App · Website Builders · 3 actions
Build and update landing pages with Flint's AI agent. Describe a change in plain English and Flint makes it across your site, or hand it a template page and a list of records and it generates an on-brand page for each one - case studies, location pages, comparison pages. Every task returns preview and edit links, and publishes to your live site only when you ask it to.
Actions
| Action | What it does |
|---|---|
| Create task | Tell Flint's agent what to change on your site, in plain English, and it goes and does it - add a page, rewrite a section, update the pricing everywhere it appears. |
| Generate pages | Turn a list of records into a set of on-brand pages, all built from one template page you already designed in Flint. |
| Get task | Follow a Flint task and collect what it produced: every page created, modified or deleted, each with a preview link, an edit link and - when the task published - its live URL. |
Create task
Tell Flint's agent what to change on your site, in plain English, and it goes and does it - add a page, rewrite a section, update the pricing everywhere it appears. The step returns a Task ID straight away; the work carries on in the background, and Get task follows it to the finished pages.
Inputs
- What should Flint do?
prompttextRequired - The instructions for the agent, in plain English. Be specific about which page or section to change and what the result should say - the agent reads your site, so you do not need to describe the design.
- Site
site_idtext - Optional. Leave empty to use the site you connected Flint with, which is what almost every workflow wants. Set it only to reach a different site in the same Flint team: paste its Site ID from https://app.tryflint.com/app/team (the editor URL for that site works too).
- Publish when it finishes
publishtrue/false - Turn on to deploy the changes to your live site as soon as the task finishes. Left off (the default), the work still happens and you get a preview link for every page - nothing reaches visitors until you publish it from Flint.Default:
false. - Notify this URL when done
callback_urltext - Optional. A public HTTPS address Flint should POST the result to when the task finishes. Most workflows leave this empty and use the Get task step instead. Flint refuses http:// addresses, localhost and private network addresses.
Outputs
commandtext- The kind of task: 'prompt' or 'generate_pages'
created_attext- When the task was queued, in UTC (ISO 8601)
created_at_unixnumber- When the task was queued, as unix seconds
publishtrue/false- Whether the task will publish its changes when it finishes
site_idtext- The site the task is acting on
statustext- The task's status right after it was queued ('running')
task_idtext- The task's id; pass it to Get task to follow it
Example output
{
"command": "prompt",
"created_at": "2026-03-11T12:00:00Z",
"created_at_unix": 1773230400,
"publish": false,
"site_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "running",
"task_id": "bg-550e8400-e29b-41d4-a716-446655440000-a1b2c3d4"
}Generate pages
Turn a list of records into a set of on-brand pages, all built from one template page you already designed in Flint. Give it the template and one entry per page - a customer, a product, a city - and Flint writes each page's copy from the context you supply. This is the step behind a batch of case studies, location pages or comparison pages. Up to 10 pages per step; the Task ID it returns goes to Get task to follow the work.
Inputs
- Template page
template_page_slugtextRequired - The path of an existing page on your Flint site to copy the layout and design from. Every generated page is built from it, so build the template once in Flint and point at it here. A leading slash is added for you if you leave it off.
- Pages to generate
itemslistRequired - One entry per page to create. Each needs the path for the new page and the content that makes that page different from the others - the customer, the product, the city, whatever the template is about. Up to 10 pages per step; Flint suggests 5 at a time for the fastest, most reliable runs. To generate more, chain another step.
- Site
site_idtext - Optional. Leave empty to use the site you connected Flint with, which is what almost every workflow wants. Set it only to reach a different site in the same Flint team: paste its Site ID from https://app.tryflint.com/app/team (the editor URL for that site works too).
- Publish when it finishes
publishtrue/false - Turn on to deploy the changes to your live site as soon as the task finishes. Left off (the default), the work still happens and you get a preview link for every page - nothing reaches visitors until you publish it from Flint.Default:
false. - Notify this URL when done
callback_urltext - Optional. A public HTTPS address Flint should POST the result to when the task finishes. Most workflows leave this empty and use the Get task step instead. Flint refuses http:// addresses, localhost and private network addresses.
Outputs
commandtext- The kind of task: 'prompt' or 'generate_pages'
created_attext- When the task was queued, in UTC (ISO 8601)
created_at_unixnumber- When the task was queued, as unix seconds
page_countnumber- How many pages the task will generate
publishtrue/false- Whether the task will publish its changes when it finishes
site_idtext- The site the task is acting on
statustext- The task's status right after it was queued ('running')
target_page_slugslist- The path of each page being generated
task_idtext- The task's id; pass it to Get task to follow it
template_page_slugtext- The template page each new page is built from
Example output
{
"command": "generate_pages",
"created_at": "2026-03-11T12:00:00Z",
"created_at_unix": 1773230400,
"page_count": 2,
"publish": false,
"site_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "running",
"target_page_slugs": [
"/case-studies/acme-corp",
"/case-studies/globex"
],
"task_id": "bg-550e8400-e29b-41d4-a716-446655440000-a1b2c3d4",
"template_page_slug": "/case-studies/template"
}Get task
Follow a Flint task and collect what it produced: every page created, modified or deleted, each with a preview link, an edit link and - when the task published - its live URL. By default the step waits for the task to finish, so a Create task or Generate pages step followed by this one is a complete workflow. A task that fails comes back with its reason rather than erroring, so you can branch on it.
Inputs
- Task ID
task_idtextRequired - The task to check on. Take it from the Task ID a Create task or Generate pages step returned.
- Wait for the task to finish
wait_for_completiontrue/false - On by default: the step waits for the task to finish and returns the pages it produced, checking every 5 seconds for up to 3.5 minutes. If it is still running at that point the step still succeeds, with Timed out set, so a later step or a scheduled run can check again. Turn it off to read the status right now and move on immediately.Default:
true.
Outputs
error_messagetext- Why the task failed, when it did
is_finishedtrue/false- Whether the task has stopped running
page_countnumber- How many pages were created or modified
page_urlslist- A link to each page the task created or changed - the live URL where there is one, the preview link otherwise
pages_createdlist- Pages the task created
pages_deletedlist- Pages the task removed
pages_modifiedlist- Existing pages the task changed
statustext- 'running' while it works, 'completed' when it worked, 'failed' when it did not
succeededtrue/false- Whether the task finished successfully
task_idtext- The task's id
timed_outtrue/false- True when the step waited and the task was still running at the end of the wait; check it again later. False when the step was told not to wait
waited_secondsnumber- How long this step waited before answering
Example output
{
"error_message": null,
"is_finished": true,
"page_count": 1,
"page_urls": [
"https://www.example.com/case-studies/acme-corp"
],
"pages_created": [
{
"edit_url": "https://app.tryflint.com/app/edit?siteId=550e8400-e29b-41d4-a716-446655440000&page=case-studies/acme-corp",
"preview_url": "https://your-site-abc123.vercel.app/case-studies/acme-corp",
"slug": "/case-studies/acme-corp",
"url": "https://www.example.com/case-studies/acme-corp"
}
],
"pages_deleted": [],
"pages_modified": [],
"status": "completed",
"succeeded": true,
"task_id": "bg-550e8400-e29b-41d4-a716-446655440000-a1b2c3d4",
"timed_out": false,
"waited_seconds": 65.0
}