---
title: "PIMMS Integration"
description: "Create smart deep links with PIMMS and attribute conversions back to them, tracking leads and sales rather than clicks alone. Agents connect revenue to the specific link that produced it."
url: https://flowrunner.ai/integrations/pimms
date_modified: 2026-08-07T17:20:23-07:00
---

# PIMMS

[Analytics & Data](https://flowrunner.ai/integrations/category/analytics-data)

Create smart deep links with PIMMS and attribute conversions back to them, tracking leads and sales rather than clicks alone. Agents connect revenue to the specific link that produced it.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 6 actions · API key · available

[PIMMS website](https://pimms.io/) · [Platform Documentation](https://pimms.io/) · Capability data verified 2026-08-12

1.  A prospect signs up after following a campaign link that set the pimms\_id cookie in their browser
2.  The signup payload carries the click ID from that cookie alongside the new customer record
3.  Track Lead records the signup against the click that produced it, so the campaign owns the acquisition
4.  When the account later converts to paid, the agent matches the closed invoice back to the tracked customer
5.  The invoice ID is attached to the call so a retried run cannot count the same sale twice
6.  The channel owner receives the proposed attribution as one line: link, amount, currency unit and invoice
7.  Finance approves the amount before Track Sale writes it, because this number, not the click count, is what sets next quarter's channel budget

## What This Integration Enables

PIMMS is not a shortener that grew a dashboard. It is an attribution ledger whose primary key happens to be a link. Six operations do the whole job, and two of them are the reason to use it: Track Lead records a signup against the click that produced it, using the click ID from the pimms\_id cookie set in the visitor's browser, and Track Sale records revenue against a previously tracked customer so the money lands on the link that acquired them. Get Analytics then returns clicks, leads and sales together, grouped by country, device, referrer, UTM value or top links, or as a time series.

That is a different claim from the rest of this category. Click counts have never decided a budget, and revenue always does. Create Link supports the rest of what a modern campaign link needs, custom domains and keys, UTM parameters, Open Graph overrides, expiry rules and platform-specific deep links for iOS and Android on the same URL, so a tap opens the app where the app is installed and the web page where it is not, without losing the attribution. Upsert Link keeps a flow that runs more than once from littering the workspace with duplicates of the same destination. Get QR Code URL builds a hosted, styled QR image for any destination and needs no credentials, so a print asset carries the same attribution as an email.

The trade is that these calls write into the numbers your team will argue over. FlowRunner agents can execute every one of them. Whether an amount is correct before it goes into the ledger is a question for a person, and the agent is built to ask it.

### Without FlowRunner

**Success is measured in clicks**: The best-performing link is the one that got the most traffic, whether or not it sold anything

**Revenue and source live apart**: The billing system knows the amount and the campaign tool knows the click, and nothing joins them

**Mobile campaigns lose the trail**: A tap that opens an app breaks the connection between the send and the signup

### With FlowRunner

**Success is measured in revenue**: Leads and sales are recorded against the specific link that produced them

**One record carries both**: The attribution and the amount arrive together, with an invoice ID that survives a retry

**Deep links stay attributed**: The same URL routes to iOS, Android or the web and the click still carries through

## Use Case Scenarios

### The signup that knows where it came from

A campaign link routes a visitor to the signup page and PIMMS sets the pimms\_id cookie on the way through. When the account is created, the application passes that click ID into the flow with the new customer's details. The agent calls Track Lead, and the signup is bound to the exact link, campaign and UTM combination that produced it. Nothing about that binding depends on a marketer remembering to tag anything after the fact, and it survives the visitor closing the tab and coming back later.

### Closing the loop from billing back to the link

An invoice is paid in [Stripe](https://flowrunner.ai/integrations/stripe). The agent matches the customer to the previously tracked PIMMS customer, converts the amount to minor currency units, attaches the invoice ID for idempotency, and stages a Track Sale call. Once approved it writes, and the revenue attaches to the acquiring link. Get Analytics grouped by top links then produces a report where the ranking is by money rather than by traffic, which is the version of the report that survives a budget conversation.

### One URL for print, mobile and web

A campaign runs across a printed insert, an SMS send and a social post. The agent creates one link with iOS and Android deep links and a web destination, then calls Get QR Code URL to render a styled code for the print asset. Every channel points at the same tracked URL, so the analytics compare the channels against each other rather than against three separate link records. Results are pulled on a schedule into a [Google Sheets](https://flowrunner.ai/integrations/google-sheets) tab and summarized to the marketing channel in [Slack](https://flowrunner.ai/integrations/slack).

## Human-in-Loop Highlight

Track Sale takes its amount in minor currency units. A sale of 249.00 is submitted as 24900, and a flow that hands it 249 or 2490000 does not throw an error. It records the sale, quietly, against a real link, and the analytics that a spend decision reads are now wrong by two orders of magnitude in a direction nobody will question because the number came from an automated pipeline. Worse, the error concentrates: the revenue lands on one link, which is the same as recommending that channel. So before the first Track Sale of any new flow, and on any amount that falls outside the range the flow has seen before, the agent stops and posts the figure rendered both ways: "About to attribute 24900 minor units, which is 249.00 EUR, to link pim.ms/spring-eu for invoice INV-8841. The last 30 sales on this link ranged 39.00 to 480.00. Confirm to write." A person reads the human-readable amount, confirms it, and the agent writes with the invoice ID attached so a retry cannot double count. Attribution is the one output of a marketing stack that gets treated as fact rather than as an opinion, and a wrong number here does not break a workflow, it misdirects a budget. That is precisely the class of decision [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) exists to hold, and holding it is the default an agent gets on FlowRunner rather than a guardrail somebody has to remember to build.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

6 actions

### Links

2

-   **Create Link** Creates a short link with an optional custom domain and key, UTM parameters, Open Graph overrides, platform-specific deep links for iOS and Android, expiry rules and conversion tracking. Returns the full record including the ready-to-share short URL and its QR code URL.
-   **Upsert Link** Creates a short link, or updates the existing one when a link already points at the same destination. Used in flows that may run more than once for the same asset, so repeated executions do not produce duplicates.

### QR Codes

1

-   **Get QR Code URL** Builds the hosted PIMMS QR code URL for any destination, with optional size, colours, logo and error-correction level. PIMMS serves the PNG itself and the endpoint needs no credentials, so the returned URL can be embedded or downloaded directly.

### Conversion Attribution

2

-   **Track Lead** Records a lead conversion against the click that produced it, so signups are attributed back to the link and campaign that drove them. The click ID comes from the pimms\_id cookie set in the visitor's browser when they followed a tracked link.
-   **Track Sale** Records a sale against a previously tracked customer so revenue is attributed to the acquiring link. Amounts are given in minor currency units such as cents. An invoice ID makes retries idempotent and prevents double counting.

### Reporting

1

-   **Get Analytics** Returns click, lead and sale analytics for the workspace, grouped by any supported dimension such as country, device, referrer, UTM parameter or top links, or returned as a time series. Filterable by link, date range, geography, device or trigger. Sale amounts come back in minor currency units.

## Frequently Asked Questions

### What can FlowRunner do with PIMMS?

FlowRunner agents can run Create Link, Upsert Link, and Get QR Code URL in PIMMS, plus 3 more actions.

### Does connecting PIMMS to FlowRunner require OAuth?

No. PIMMS connects to FlowRunner with an API key, no OAuth flow required.

### Can PIMMS trigger a FlowRunner workflow automatically?

PIMMS doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at PIMMS?** This integration exposes PIMMS to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/pimms. Site index: https://flowrunner.ai/llms.txt
