Expiring quote follow-ups
Finds quotes that are about to expire without converting and creates a ticket in the Action Hub for each one, so a sales rep can chase the deal before the quote lapses. It runs automatically every day.
Runs: Outside Propeller · Trigger: Schedule · Difficulty: Medium
What you need
- An n8n account. See Set up n8n.
- A Propeller API key.
- The Action Hub, where the tickets land.
How it works
Every day at 07:00 the workflow fetches your quotations and keeps the ones that are still open and whose Valid Until date falls inside the window: expiring within the next 7 days or lapsed within the last 7 days.
For each quote it creates a ticket in the Action Hub that links straight to the quote, so a rep can open it and follow up. The ticket goes to the quote's account manager when there is one, otherwise to a default user you set. Quotes that already have an open follow-up ticket are skipped, so you never get duplicates.
It creates at most 15 tickets in a single run, so a large backlog of old quotes cannot flood the Action Hub at once. Anything over that limit is picked up on the next run.
Only sent quotes count by default. Drafts stay out until you send them.
Install it
- In n8n, import the downloaded JSON as a new workflow.
- Create a header auth credential with your Propeller API key and select it on every HTTP Request node.
- In the Select & Build Tickets node, change
DEFAULT_ADMIN_USER_IDto the backoffice user who should get the tickets when a quote has no account manager. - Run the workflow once manually. If you have quotes expiring within the window, a ticket appears in the Action Hub.
- Activate the workflow.
In n8n, create a credential of type Header Auth and fill in its two fields exactly like this:
| Field | What to fill in |
|---|---|
| Name | apiKey |
| Value | Your Propeller API key |
Name is not a title you pick yourself. It has to say exactly apiKey, otherwise the workflow cannot sign in. See Set up n8n for the full steps.
Make it yours
- The window: change
LEAD_DAYS(how many days before expiry to alert) andGRACE_DAYS(how long after expiry to still alert) in the Select & Build Tickets node. RaisingGRACE_DAYSa lot pulls in every quote that ever lapsed, so on a full catalogue keep it small. - The per-run cap:
MAX_TICKETS_PER_RUN(default 15) limits how many tickets one run creates, so a backlog cannot flood the Action Hub. Anything over the cap is picked up on the next run. - Which quotes count:
CHASE_STATUSESis set to sent quotes only. AddDRAFT_QUOTATIONto also chase drafts. - When it runs: the Schedule Trigger runs daily at 07:00. Change it to run more or less often.
- Volume: the workflow reads up to 500 quotations in one call. If you keep more open quotes than that, add pagination. The Products without images example shows the loop pattern.
The workflows and agents in the Agent Hub are free to use and adapt. They are examples, not supported product features, so test them in a staging environment and check the results before using them in production.