> For the complete documentation index, see [llms.txt](https://docs.fastn.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fastn.ai/tutorials/end-user/extending-a-prebuilt-integration.md).

# Extending a pre-built integration

Change what a pre-built integration does — fields, filters, direction and scope — using the agent inside the widget, and know where its authority ends.

The integration your SaaS provider shipped is a starting point, not a fixed contract. Most of what it does — which fields move, which records qualify, which direction data flows — is configuration you can change from inside the widget, without a fastn account and without filing a ticket.

This page is about **what you can change and how to ask for it**. For the click-by-click tour of the dialog itself, see [Customizing Your Integrations](/tutorials/end-user/customizing-your-integrations.md).

### The two ways in

| Route                | Use it when                                                                                               | Where                                         |
| -------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| **Ask the agent**    | You can describe the outcome but not the field names. Fastest for anything involving more than one field. | The **AI assistant** prompt box in the widget |
| **Edit it yourself** | You know exactly which field or filter is wrong.                                                          | **Configure** → the Config view               |

Both write to the same configuration. Neither needs a developer.

### What the agent will do

The Integration Agent reads the real schemas of both connected apps — the actual fields on your HubSpot account, not a generic template — and rewrites the configuration to match what you asked for.

It is reliable at:

* **Adding or removing a field** — "also sync the phone number", "stop sending the internal notes field"
* **Narrowing what qualifies** — "only contacts with an email address", "skip orders under $50", "only companies in the UK"
* **Fixing a wrong pairing** — "the company name is landing in the wrong field"
* **Adjusting direction** — a per-field **Sync both ways** toggle is right there on each mapping row. Flipping a whole integration to one-way ("only from HubSpot into Cin7") is something only the agent can rewrite, so treat that one as a request rather than a setting
* **Explaining itself** — "what does this integration actually sync?" is a fair question and gets a real answer

#### Worked example

> **You type:** Only sync companies that have a billing country, and add the phone number to the sync.

The agent inspects both schemas, finds the phone field on each side, adds the mapping, and adds a `Billing Country` → `is not empty` filter. The configuration dialog then opens with both changes in place, labelled in plain language, so you can see what it did before you keep it.

If it guesses a field wrong, re-pick the field on that one row rather than re-prompting — you will get there faster. Each row has a field picker on each side and a remove icon.

{% hint style="info" %}
**First time on an integration?** There may be no configuration at all yet. **Configure** then shows *No configuration found for this widget*, with the note that *The Integration Agent sets up field mappings and filters for you* — and, for a customer, *Ask whoever administers this workspace to finish setting it up.* That first pass is your provider's to run, not yours: the button that starts it needs an operator role, so it is deliberately not offered to a customer session rather than sent to a dead end. Ask them to run it once, and everything below is yours to adjust from then on.
{% endhint %}

### What the agent will not do

Knowing the edges saves you from fighting the tool:

| Request                                                  | Why it does not work                                                                                                       | What to do instead                                                                       |
| -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| "Connect my Shopify store too"                           | The apps on offer are chosen by your SaaS provider. The agent configures what is offered, it does not widen the catalogue. | Ask your provider to add the connector                                                   |
| "Re-sync everything from last year with the new mapping" | Configuration applies to future runs. Already-synced records are not rewritten.                                            | Ask your provider about a backfill                                                       |
| "Run this every 5 minutes instead of hourly"             | Schedules belong to the workflow, not the configuration.                                                                   | Ask your provider                                                                        |
| "Send me a Slack message when a record fails"            | That is an alert, not a mapping.                                                                                           | [Getting Alerted](/tutorials/end-user/getting-alerted.md) — you can set this up yourself |
| "Write custom code in the middle of this sync"           | Workflow logic is the provider's.                                                                                          | Ask your provider                                                                        |

The rule of thumb: **the agent changes&#x20;*****what*****&#x20;data moves and&#x20;*****which*****&#x20;records qualify. It does not change&#x20;*****when*****&#x20;the integration runs,&#x20;*****which*****&#x20;apps exist, or&#x20;*****what logic*****&#x20;sits between them.**

### After you save

Two things are true of every change, and both surprise people:

* **It applies on the next run, not now.** The Save button's tooltip says so: *Changes apply on the next sync run*. On a daily sync, that means tomorrow.
* **It is not retroactive.** Records already synced keep the values they were given under the old configuration. Only new and updated records use the new settings.

Check the **Insights** view after the next run to confirm it succeeded with your change in place. It shows recent activity and what needs attention; it does not tell you when the next run is due, so if you need that, ask your provider what the schedule is.

### If something is not there

* **No Configure button on an app** — that integration was shipped as fixed. Your provider decides what is configurable.
* **No AI assistant in the widget** — it is a widget section like any other (on by default), and your provider may have switched it off.
* **The change saved but nothing happened** — confirm a run has actually happened since you saved, then check that run in Insights.

In all three cases the answer is the same: contact your SaaS provider's support team, not fastn. They own the widget you are looking at.

### What you can do next

* [Getting Alerted](/tutorials/end-user/getting-alerted.md) — be told when an integration breaks instead of discovering it
* [Connecting Claude and other AI clients](/tutorials/end-user/connecting-claude.md) — driving your integrations from an AI client
* [Customizing Your Integrations](/tutorials/end-user/customizing-your-integrations.md) — the full dialog reference


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.fastn.ai/tutorials/end-user/extending-a-prebuilt-integration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
