Connections
Connecting an account
Connections lists one card per platform. Connect opens the platform's own sign-in. When you come back, Tempio lists the ad accounts that login can reach; tick the ones Tempio may read and press Connect selected. Each account you pick becomes one connection row on the card. Connecting needs an owner or admin role in the workspace; members see the cards and their status but cannot connect or re-sync.
What the grant asks for is read access to the accounts you select and, on platforms that support it, the ability to apply changes you approve. Nothing reaches an ad account directly: every change is a change request first, applied when it is approved — by you, or by a rule your workspace wrote.
Accounts and raw requests: Reddit, X and Microsoft Advertising
Reddit, X and Microsoft Advertising connect through the same Connect button and the same picker, and their cards carry the badge Accounts and raw requests. Tempio holds the connection and lists its ad accounts. It reads no campaigns or daily numbers from these platforms, so they do not appear on Campaigns, the dashboard's channel breakdown, Metrics, the timeline or the planner, and their accounts are not listed under Account defaults. A plan item on one of them is refused with the platforms Tempio plans on. A workspace whose only connections are on these platforms sees that on Campaigns, with a pointer back here.
A connected card shows, for each connection:
- each ad account the connection lists, with its name, the platform's id, its currency, its time zone and its status;
- Accounts checked 12 min ago in place of Synced. Each sync checks the accounts and nothing else, so there is no campaign stage, no history to load and no brief;
- one action, Raw request, which opens the form described below;
- the health line, Reconnect and the Restricted badge, as on every other card.
Raw request is disabled while raw requests are off for the workspace. An owner sees a link to turn them on in Settings → Raw platform requests; everyone else is told that a workspace owner turns them on there. The same switch covers the raw request form on these cards and the agent's raw requests on every platform.
The raw request form
The form sends a request to the platform's own API through the connection. It has five fields:
| Field | What goes in it |
|---|---|
| Method | GET, POST, PUT, PATCH or DELETE. |
| Path | The platform's own path, starting with /. The hint under the field names the base URL it resolves under; a path that resolves anywhere else is refused before anything is sent. |
| Query parameters | Name and value rows. A parameter that carries a credential or overrides the method is refused, because your credential travels in a header and never in a URL. |
| Body (JSON) | A JSON object, for a method that carries one. A GET carries no body. |
| Description | Optional for a read, where it goes on the audit record. Required for a change. |
As you type the path, Tempio asks the platform's own read table whether the request reads or changes something, and the button says which. It is decided by the endpoint, not the method, because some platforms read with a POST; anything the table does not recognise counts as a change.
- Send read runs the request straight away. The platform's answer shows under the form in a read-only block, with any warnings above it. The answer is the platform's own, so money is in the platform's units and none of it is in Tempio's reports.
- Draft change sends nothing. The request becomes one change request at the gate and the form takes you to it. The reviewer reads your description at the gate, so say what the request changes and why. No approval rule clears a raw change; a person approves it, and after it applies the connection checks its accounts again.
Who may do what follows the connection. Anyone who can see a connection can send a read on it, anyone who can draft on it can draft a raw change, and restricted connections, the kill switch and the raw-write switch refuse in the form exactly as they refuse an agent. Raw platform requests covers the switch and what a raw request can reach.
Defaults, and rules that approve
Each connected ad account carries its own defaults: the Page an ad posts as, the pixel its conversions are attributed to, the floor its daily budgets are held to, and on TikTok the identity Tempio settles for it at connect. The Account defaults table at the bottom of this page lists the accounts you can reach. Open an account's row, by its name or with Enter, and its editor opens over the page. Changing a default is a draft at the gate like every other change: any member can draft it, and the platform checks the values before it can apply. The rules that let a change clear without you opening it (pauses, and budget or bid decreases under a cap you state) are written in Settings → Approvals, by an owner or an admin. Account defaults covers the defaults and Approvals covers the rules.
How much history to pull
The picker asks how much history Tempio should load for the accounts you selected. The choice applies to every account in that submission, and it is stored on each connection, so a retry loads the same amount.
| Choice | What it does |
|---|---|
| Last 90 days — recommended | Gives the agent a real baseline. Large accounts take 10–20 minutes. |
| Last 30 days | Faster. Enough for a first read on the account; trend lines are shorter. |
| Start from today | No history. Numbers begin with the next sync, which still includes the last 28 days on Meta, 30 on Google and 14 on TikTok. |
"Start from today" is not zero data. Every sync re-reads a trailing window — the days each platform still lets Tempio correct — so the first one already lands the last few weeks. Once a week Tempio re-reads the full 90 days on every connection anyway, so a 30-day or start-from-today account holds 90 days within a week of connecting; Load 90 days of history fetches them now instead of waiting for that pass.
You are not locked in. A connection row shows History from the day its stored history starts, and offers Load 90 days of history whenever there is more to fetch. Loading history never removes anything already stored: it fills in the days before it, and the offer disappears once the run lands.
The first sync
As soon as an account is connected, Tempio pulls its structure — campaigns, ad groups (ad sets on Meta) and ads — and then the daily numbers for the history you chose. On a large account 90 days is a lot of rows and that first sync can take 10–20 minutes; 30 days takes a few. Later syncs only fetch what changed and are shorter.
While it runs, the connection row shows:
- how long the sync has been going (
3 min), ticking live; - what it is doing right now — reading campaigns, then how many campaigns, ad groups and ads it found, then how many rows of daily numbers have landed so far;
- on a first sync only, how long that much history takes — nothing when you chose to start from today, because that first run is an ordinary sync.
The page refreshes itself every half minute while a sync is running, so the counts move without a reload. Sync now is disabled until the run finishes.
After that
Connections on a paid plan sync every hour — TikTok from 12:00 UTC onwards, once its previous day's numbers have settled — and free workspaces sync once a day. Each sync re-reads a trailing window (the last 28 days on Meta, 30 on Google, 14 on TikTok) so late-arriving conversions and platform restatements are corrected, not missed. When a sync rewrites a large amount of already-stored history, the row shows a restated badge.
What Tempio learns
When the first sync finishes, Tempio reads back what it just stored and writes an account brief: one page of facts per ad account, drawn from that account's last 90 days.
The brief holds:
- how much history there is: the window, how many days carry spend, and how many campaigns ran in it;
- the totals — spend, impressions, clicks, conversions, conversion value, and reach summed day by day rather than as unique people — and the last 28 days set against the 28 days before them;
- where the money goes: the objective mix, and how much of the spend sits in the single biggest campaign and in the biggest five;
- what is working and what is not: the campaigns with the best return, the ones costing the most per conversion, and the ones spending with nothing to show;
- the weekly rhythm: spend by day of the week, and which day converts cheapest, once there are four weeks to judge by.
Every figure the brief stores is a count. Cost per conversion, return on ad spend, click-through rate and every share are worked out when the brief is read, never stored, so they cannot drift from the numbers underneath them. A rate with nothing to divide by shows as —, not as zero. Money stays in the account's own currency; one brief is one account, so nothing is added across currencies.
An account needs at least seven days with spend before it gets a brief. Below that Tempio keeps whatever it had before rather than writing a thinner one.
How much history you asked for shows in the first brief. Ninety days fills the window straight away; Last 30 days and Start from today give a shorter one, so the 28-day comparison is short and the weekly rhythm stays hidden until four weeks are covered. The weekly re-read fills the window out, and the brief grows with it.
When it refreshes
- after the first sync of a new connection;
- once a week, alongside the deep re-read that corrects late-arriving conversions. The brief is computed from what is already stored, so a weekly brief describes the account as it stood just before that week's deep pass;
- whenever you press Refresh on the card.
A refresh that fails leaves the previous brief in place.
Where it shows
What we learned about your account sits at the foot of the dashboard, under the table of channels, with a panel for each account that has a brief. Ask the agent opens the assistant with the question already typed, ready to send. Owners and admins can dismiss the card for the whole workspace, and a later refresh does not bring it back. On this page, a connection whose account has a brief shows View brief under its status line, which jumps to that account's panel.
What the agent does with it
The brief is what the assistant knows about your account before you ask it anything. It reads the brief first, so "is a $40 cost per conversion good?" is answered against your own 90 days rather than in the abstract. The document itself is facts only: Tempio never writes prose into it. The sentences are the agent's, written when you ask, from the numbers above.
A brief more than a week old is flagged stale, and the agent says when it was computed before quoting it.
What the status chip and line mean
Each connection on a card shows a chip beside its name with its state, and a line under the name with the detail. The chip is green for Connected, amber for Syncing, red for Needs attention, and grey for Not synced, Paused and Disconnected. The Status column of the Account defaults table shows the same state as a dot and a label.
| Chip | Line | Meaning | What to do |
|---|---|---|---|
| Not synced | None | Connected, first sync not started. | Nothing; it starts within the hour at most. Sync now starts it immediately. |
| Syncing | 3 min, then the stage it is in. A request whose run has not opened yet reads Queued, starting shortly. | A sync is running. | Wait. A first sync of a large account takes 10–20 minutes when you asked for 90 days. |
| Connected | Synced 12 min ago | The last sync finished cleanly. | Nothing. |
| Not synced | Accounts not checked yet | On a Reddit, X or Microsoft Advertising card: connected, and its ad accounts have not been checked yet. | Nothing. The first check starts as soon as the account is connected. |
| Syncing | Checking accounts… | On a Reddit, X or Microsoft Advertising card: Tempio is reading the connection's ad accounts. | Wait. It reads accounts and nothing else, so it is short. |
| Connected | Accounts checked 12 min ago | On a Reddit, X or Microsoft Advertising card: the last check of the connection's ad accounts finished cleanly. | Nothing. |
| Needs attention | Last sync finished with errors | Under it, 2/3 accounts synced. Some accounts landed and some did not, so the numbers under-report. | Try Sync now; if it repeats, the account may have lost access on the platform. |
| Needs attention | This connection needs to be reconnected. | The platform no longer accepts the credentials Tempio holds. Every other failure reads the same way: one headline, then the platform's own words underneath. | Reconnect when the row offers it; otherwise check the permissions granted to Tempio on the platform. |
| Paused | Syncing is off | Syncing is switched off for this connection. Nothing new lands, and no draft applies to it. | The history already stored stays in the workspace; syncing resumes when the connection is set active again. |
| Disconnected | None | The connection is switched off for good and no longer syncs. | The history already stored stays in the workspace. |
Reconnecting
Reconnect appears on a connection when the platform has stopped accepting the credentials Tempio holds — an expired token, or access revoked on the platform's side. It re-runs the platform's sign-in and keeps every row Tempio already holds; nothing stored is deleted or re-read from scratch.
Reconnecting revives the connections that the failure parked. A connection that was paused or disconnected on purpose stays as it is — reconnecting a grant never quietly switches syncing back on.
To add another account on the same platform, press Connect again: the sign-in repeats and the picker lists every account that login can reach, with the ones already connected ticked and greyed out.
Getting started
Your first run — naming a workspace, connecting an ad account, choosing how much history to pull, and what lands while the first sync runs.
Account defaults
The defaults each platform reads off an ad account, why changing one is a draft, and the TikTok identity Tempio settles at connect.