via Workflow Automation (iPaaS)

Workflow automation platforms / IPaaS (Integration Platform as a Service) are tools that help you automate business processes without the need to write code or host your own software. They are ideal for companies that want business efficiency without the need to invest in a strong IT department, or where the IT department is otherwise occupied.

Shuttle supports several of these platforms:

  • Make.com: Make.com offers advanced control, branching logic, and visual flows for building complex automations with minimal code.
  • Zapier: Zapier makes it easy for non-developers to automate tasks across thousands of apps with a clean, no-code interface.

If you require a platform not listed please contact [email protected].


What is a Workflow Automation?

Workflow automation is the orchestration of multiple systems and steps to perform a task.

Most automation platforms provide a graphical user interface, allowing non technical users can configure both simple and complex processes like the below:

flowchart LR 
A[Trigger] --> B[Create Payment Link] --> C[Send to Customer]	

Examples include:

  • Field agents getting quotes secured:
flowchart LR 
 B[On HubSpot Quote Creation] 
 B --> C[Create Payment Link] 
 C --> D[Email/SMS Customer]

  • Event signup automation using WhatsApp
flowchart LR 
 B[On WhatsApp signup message] 
 B --> C[Create Payment Link] 
 C --> D[Reply on WhatApp]

  • Chasing overdue invoices
flowchart LR 
 B[On 15th of the Month] 
 B --> C[Loop overdue Xero customers] 
 C --> D[Create Payment Link] 
 D --> E[Email Customer]
 E --> C

  • Getting membership feeds paid
flowchart LR 
 B[On Manual Trigger] 
 B --> C[Loop Google Sheet] 
 C --> D[Create Payment Link] 
 D --> E[Email Customer]
 E --> C

Further more, workflows can be triggered by payment notifications, allowing you to provision goods or services. On notification you can get the payment link which will contain extensive information about payment if its already been paid, so you can perform appropriate business functions.

flowchart LR 
  A[Notification] --> B[Filter] --> C[Get Payment Link]
  C --> D{Status?}
  D --> E[Success → Provision Goods]
  D --> F[Pending → Reserve Goods]
  D --> G[Failed → Release Goods & Notify Customer]
  D --> H[Expired → Notify Customer]

Getting Started

To use personalised single-use payment links in your workflow automation, you will need:

  • A Shuttle Payment Links account
  • A payment provider account (e.g. Stripe) or use our sandbox gateway
  • An triggering event, eg an app that you want to trigger the link generation from (e.g. Slack, Whatsapp, Invoicing app, Google Sheets), timing schedule, or manual trigger
  • An account with one of the following workflow apps, which supports your triggering event:

In your workflow tool you can connect to Shuttle via:

  1. Install the "Shuttle" connector (search for "Shuttle" in the app store or use a link at the top of this document)
  2. Add "Create a Payment Link" action to one of your templates / scenarios (please view a tutorial on the platform if you're not sure how to do this)
  3. You will be prompted to "Connect Shuttle", click the button and when prompted select if you are connecting a "Live" or "Sandbox" account. You will then be taken to a login screen to log into Shuttle and select which account to connect. You must have ALREADY created the account in the appropriate LIVE / SANDBOX mode for it to display. If required you can set up a new account, but will need to restart the connection process.

Tip!: We recommend you build your workflow using a Sandbox account, which does not process real payment, and then switch to a LIVE account when you are ready to use with customers. After switching from sandbox to live, always validate a live payment before rolling out to your customers, specifically that is makes it all the way to your bank account.

Also, when switching from sandbox to live, ensure you update ALL templates / scenarios involved in your automation.



Configuring your Workflow

Shuttle provides 4 actions for managing payment links:

  • Create a new payment link
  • Get a payment link
  • Update an existing payment link
  • Delete a payment link

In addition, it raises "Payment Notifications" you can use to trigger workflows.

Please see Process Flow for detail on the behaviour of each.


Generating / Updating a Payment Link

Shuttle's workflow integrations support the following fields when creating and updating a payment link:

Input FieldDescription
Currency(Required) 3-letter currency code for the payment (e.g., USD, EUR, GBP)
AmountPayment amount in decimal format (e.g., 29.99, 1000.00), if not specified, the amount will be requested from the customer
ReferenceYour reference to track this payment (e.g., ORDER_1234, INV_567), if not specified, the reference will be requested from the customer
Auto Fill TextNatural language text that will be used to automatically fill payment link fields. Only affects fields containing 'auto' in their value. Use 'auto:default_value' syntax to set defaults (e.g., 'auto:USD' for currency).
Success URLOptional URL to redirect users when payment is completed
Pending URLOptional URL to redirect users when payment is processing asynchronously (e.g., needs authorization), if not specified, the pending URL will be requested from the customer
Pending MessageOptional message to show when payment is pending (if no pending_url is provided)
Success MessageOptional message to show when payment is successful (if no success_url is provided)
Skip ReceiptIf true, immediately redirect to the success / pending URL without showing messages
Save CardControls whether payment methods are saved, valid values are true (always save), false (never save) or blank (user decides)
ExpiresOptional when this payment link should expire (ISO date-time format, alternative to Expires In)
Expires InOptional seconds until expiry (default 1 day - 86400)
Customer CRM KeyYour unique identifier for this customer, this will present previously saved cards for returning customers
Customer First NameFirst name of the customer
Customer Last NameLast name of the customer
Customer EmailEmail address of the customer
Customer PhonePhone number of the customer
State 1Custom state field that will be returned in webhooks and redirects
State 2Custom state field that will be returned in webhooks and redirects
State 3Custom state field that will be returned in webhooks and redirects
State 4Custom state field that will be returned in webhooks and redirects
State 5Custom state field that will be returned in webhooks and redirects
State 6Custom state field that will be returned in webhooks and redirects
State 7Custom state field that will be returned in webhooks and redirects
State 8Custom state field that will be returned in webhooks and redirects
State 9Custom state field that will be returned in webhooks and redirects

Output FieldDescription
Payment Link IDUnique identifier for the created payment link
Payment Link URLThe URL that can be shared with customers to make payment
Expires AtExpiry date for the payment link

Get Payment Link

You can fetch a payment link using its ID up to 1 year after it was last updated.

Input FieldDescription
Payment Link ID(Required) ID of the payment link to retrieve

This returns both information about the payment link and information about the payment. Information always returned (where it exists on the payment link):

Output FieldDescription
Payment Link IDUnique identifier for the payment link
Payment Link URLThe URL that can be shared with customers to make payment
StatusCurrent status of the payment link (ACTIVE, PENDING, COMPLETED, FAILED, EXPIRED)
Created DateWhen the payment link was created
Updated DateWhen the payment link was last updated
Expiry DateWhen the payment link expires
Currency3-letter currency code
AmountPayment amount in decimal format
ReferenceYour reference for this payment
Success URLRedirect URL for completed payments
Pending URLRedirect URL for pending payments
Pending MessageMessage shown for pending payments
Success MessageMessage shown for successful payments
Skip ReceiptWhether to skip the receipt page
Save CardWhether payment methods are saved
Account CRM KeyYour unique identifier for this customer
Account First NameFirst name of the customer
Account Last NameLast name of the customer
Account EmailEmail address of the customer
Account PhonePhone number of the customer
State1Custom state field 1
State2Custom state field 2
State3Custom state field 3
State4Custom state field 4
State5Custom state field 5
State6Custom state field 6
State7Custom state field 7
State8Custom state field 8
State9Custom state field 9

Information only available after payment attempted:

Output FieldDescription
Account IDThe account ID from your CRM/PSP integration
Contract IDUnique identifier for the contract
Contract ReferenceThe reference entered by the customer (when allowed)
Contract AmountTotal value of the contract
Contract CurrencyCurrency of the contract
Contract StatusCurrent status of the contract
Charge IDUnique identifier for the charge
Charge AmountAmount of the charge
Charge StatusStatus of the charge
Transaction IDUnique identifier for the transaction
Transaction AmountAmount of the transaction
Transaction CurrencyCurrency of the transaction
Transaction StatusStatus of the transaction
Transaction ReferenceReference entered by the customer
Transaction ProcessedWhen the transaction was processed
Gateway StatusStatus returned by the payment gateway
Gateway MessageMessage returned by the payment gateway
Gateway ReferenceReference returned by the payment gateway
Payment Method IDUnique identifier for the payment method
Payment Method TypeType of payment method (credit card, bank account, etc.)
Payment Method StatusStatus of the payment method
Payment Method BINFirst 8 digits of the card (for card payments)
Payment Method Last4Last 4 digits of the card (for card payments)
Payment Method ExpiryExpiry date of the card (for card payments)
Payment Method NameName on the payment method
Payment Method TokenToken representing the payment method
Payment Method SourceSource of the payment method

The key fields you care about are:

  • Payment Link Status: When deciding what to do next
  • Contract Reference: If you allow the customer to enter a reference
  • Transaction Reference: The unique payment ID displayed on the receipt screen and sent to the payment gateway (e.g. "REF-00001234")
  • Transaction Amount: The amount of the transaction
  • Gateway Status: The response from the payment processor
  • Gateway Message: The error message (or at times pending message) returned from the payment processor
  • Gateway Reference: The payment reference returned from the payment processor (eg Stripe ID for the payment)
  • Payment Method Name: A descriptive name of the payment method used(eg "Visa ending 1234, exp 12/34")
  • Payment Method Token: The token representing the payment method used by the payment processor if the card is saved (eg Stripe ID for the saved card)

Payment Notification

Shuttle provides a trigger event called "Payment Notification", this will fire on key events in the payment lifecycle:

  • PAYMENT_LINK.CREATED - When a new payment link is created
  • PAYMENT_LINK.UPDATE - When a payment link is updated or a pending payment is declined
  • PAYMENT_LINK.COMPLETED - When a payment is successfully processed
  • PAYMENT_LINK.EXPIRED - When a payment link expires
  • PAYMENT_LINK.ARCHIVE - When a payment link is archived/canceled

Each notification contains the following fields you can use to access the payment link for further information:

  • action - The event type (e.g., PAYMENT_LINK.COMPLETE)
  • payment_link_id - The ID of the payment link
  • state1 ... state9 - State fields (if configured)

You should use the payment link action and state fields ro filter which events you care about and call "Get Payment Link" to get the payment link details.