Skip to main content
The way polling triggers usually work is as follows: On Enable: Store the last timestamp or most recent item id using the context store property. Run: This method runs every 5 minutes, fetches the endpoint between a certain timestamp or traverses until it finds the last item id, and returns the new items as an array. Testing: You can implement a test function which should return some of the most recent items. It’s recommended to limit this to five. Examples:

Polling library

There multiple strategy to implement polling triggers, and we have created a library to help you with that.

Strategies

Timebased: This strategy fetches new items using a timestamp. You need to implement the items method, which should return the most recent items. The library will detect new items based on the timestamp. The polling object’s generic type consists of the props value and the object type.
Last ID Strategy: This strategy fetches new items based on the last item ID. To use this strategy, you need to implement the items method, which should return the most recent items. The library will detect new items after the last item ID. The polling object’s generic type consists of the props value and the object type

Trigger Implementation

After implementing the polling object, you can use the polling helper to implement the trigger.

Republishing a running flow

When an enabled flow is published again and its polling trigger is unchanged (same piece, same piece version, same trigger, same inputs), Activepieces leaves the trigger running exactly as it was: onDisable and onEnable are not called, the trigger’s store is untouched, and polling continues on the same schedule. Events that arrive around the republish are picked up by the next poll as usual. Everything else runs the hooks as normal:
  • Upgrading the piece version with the same inputs runs the old version’s onDisable and the new version’s onEnable, with context.isRepublish set to true in both. Use it to keep your checkpoint when your stored state is still valid.
  • Changing the trigger or its inputs runs both hooks without isRepublish, so the trigger starts fresh.
  • Turning the flow off and on also starts fresh. This is how to reset a polling trigger whose stored state has gone bad, such as an expired sync token.