Salla
E-commerceSalla is the Saudi ecommerce platform, and this connector covers its Merchant API. Agents sync orders into an ERP or fulfillment system as they are placed, update stock in bulk, manage products, customers, coupons and shipments, and react to store webhooks.
What This Integration Enables
Salla is the storefront platform of the Saudi market, and that regionality is the buying reason rather than a footnote. This connector is the Merchant API, so an agent working through it stands in the back office of a store whose shipping companies, branches, banks, taxes and city and district reference data are all local. Its ordinary instrument of goodwill is store wallet credit, not a card refund.
That distinction matters more than it sounds. A generic commerce connector has no customer wallet, no loyalty point balance, and no per-shipping-company options call, and those are precisely the surfaces a Salla merchant automates first. FlowRunner agents reach all of it through one authorized app, so the catalog, the stock ledger, the shipment, the invoice and the reference tables move together instead of through separate tools that disagree.
Reaching everything through one connection is also why human-in-the-loop belongs in the design and not in a policy document. The same token that lists a district can debit a customer's wallet. FlowRunner agents run the reads, the syncs and the reversible writes on their own, and stop where an operation moves value out of a named person's account.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
Every order reaches fulfillment without anyone rekeying it
The On Salla Event trigger fires on
order.created. The agent calls Get Order for the full record, resolves the destination through List Countries, List Cities and List Districts, and picks an origin from List Branches based on where the stock actually sits. It writes the order into NetSuite or hands it to ShipBob, then calls Create Shipment back in Salla so the merchant sees one truth in the dashboard. Update Order Status moves the order to the merchant's own sub-status, and Create Order History Note records what the agent did. When a branch cannot cover the line, Relocate Order Stock is proposed rather than run. -
A supplier feed that updates prices and stock without fighting the store
A supplier sheet lands in Google Sheets. The agent reads it, matches each row against Get Product By SKU, and sends only the rows that actually differ. Update Bulk Product Prices carries the price changes and Update Bulk Quantities carries the stock, with the mode chosen deliberately: increment for a received delivery, overwrite only for a counted stocktake. List Quantity Change Reasons supplies the reason code so List Quantity Audit stays readable weeks later. A price move outside the band the merchant set goes to Slack before it goes to the store.
-
The abandoned cart loop, and where it stops
List Abandoned Carts runs on a schedule with an offset that lets the shopper finish on their own first. The agent pulls each cart with Get Abandoned Cart, enriches the customer through Get Customer, and hands the segment to Klaviyo or Brevo for the recovery message. Where the reason for the abandonment was a late previous order, the agent calls Deposit To Customer Wallet to issue credit as an apology. The reverse of that operation is where the workflow stops and asks.
Human-in-Loop Highlight
A wallet balance is spendable value the customer already holds, and in this market it is what a merchant hands over instead of a card refund. So Withdraw From Customer Wallet is not a data correction. It takes money back out of a named person's account.
The asymmetry is the whole argument. Deposit To Customer Wallet is safe to automate because being credited by mistake harms nobody. Ban Customer is safe to automate because Unban Customer genuinely reverses it. Loyalty points move both ways under the same operation. A withdrawal has an inverse on paper and not in practice: by the time anyone notices the sweep was wrong, the customer has already stood at checkout with a balance that no longer covers the cart, and re-depositing does not undo that.
So the reconciliation agent runs the whole sweep and stops at the last step. It finds a customer who appears to have been credited twice for one late order, gathers the evidence, and posts to the support lead in Slack: "This account holds wallet credit from two entries that both reference the same delayed order. One looks like a duplicate. Withdraw the second amount, keep both, or ask the customer first?" The lead answers. The agent then either debits the wallet and writes the reason into the order history, or closes the case with no change. What made this safe was not the matching logic. It was that the debit against a person's money belonged to a person.
Agent Capabilities
182 actionsStore
9- Get User Information Returns the authorizing user and the store the connection is bound to. The quickest proof that a connection points where you think it does.
- Get Store Information Returns the store's own record, including currency and domain. Used when a flow has to build customer facing text in the store's own terms.
- List Store Settings Lists the settings groups available on the store. Run it first, because the slugs are store specific rather than a fixed list.
- Get Store Setting Returns the fields and current values of one settings group.
- Update Store Setting Writes new values into a settings group. Read the group first, because the accepted shape depends on which group is being written.
- List Employees Lists the store's employees with their roles and status. Used to resolve the right person before assigning or notifying.
- List Store Scopes Lists the store's markets. Per market pricing, branch allocation and category sorting are all keyed on a scope.
- Get SEO Settings Returns the store's SEO title, description, keywords and sitemap configuration.
- Update SEO Settings Updates the store's SEO fields and can request a sitemap refresh. Send only what changes.
Orders
13- List Orders Lists orders across the full filter set, from status and payment method to branch, city, coupon and assigned employee. The lookup behind every reporting and reconciliation sweep.
- Get Order Returns one order in full, with items, options, payment, shipping, totals and status. The read a fulfillment agent makes before it acts.
- Create Order Creates an order from a customer, a product list and a delivery choice. The delivery method decides what else the order needs, so a pickup and a shipment are not the same call.
- Update Order Updates an order's editable fields. It deliberately does not move the order's status, which is a separate decision with separate consequences.
- Create Draft Order Creates an order held in draft. The right shape when a flow assembles an order and a person confirms it.
- Duplicate Order Copies an order into a new one with its customer and items. Used for repeat orders and for rebuilding an order canceled by mistake.
- Create External Order Records an order taken outside Salla so the merchant's reporting sees the whole business. The external reference must be unique, which is what keeps a retried sync from double counting.
- Run Order Actions Applies a bulk action across a selection of orders. A batch boundary, so the selection is worth reviewing before it runs.
- Relocate Order Stock Moves an order's stock allocation to a different branch. How a multi branch merchant re-sources an order the original branch cannot cover.
- List Order Reservations Lists what is held across a date range. The read a booking business needs to see its commitments.
- Get Order Assigned Employees Returns who is handling an order, so a notification reaches the person rather than the channel.
- List Order Histories Lists an order's status changes and notes in order. The audit trail a support agent reads before answering a customer.
- Create Order History Note Appends a note without changing status. How an agent leaves a record of what it did for the person who reads the order next.
Order Statuses
6- List Order Statuses Lists the store's own status catalog with the ID and slug of each. Run it before any status automation, because the IDs are per store.
- Get Order Status Returns one status definition with its customer message and position.
- Create Custom Order Status Creates a sub-status under one of the platform's parent statuses, so a merchant can track their own stages.
- Update Custom Order Status Edits a status definition. It changes the stage, not any order sitting in it.
- Update Order Status Moves one order to a new status. Two of its options are real business decisions rather than defaults: whether the order's stock returns to inventory, and whether the customer gets a text.
- Sort Order Statuses Reorders the statuses as the merchant's team sees them on the dashboard.
Order Items
5- List Order Items Lists an order's lines with quantities, prices, options and any digital content attached.
- Create Order Item Adds a line to an existing order by product or by SKU. The order total changes, so a flow that also books payment reads the order again.
- Update Order Item Changes a line's quantity, price, branch, weight or options.
- Delete Order Item Removes a line from an order. Not reversible, and it changes what the customer owes.
- Attach Digital Item Attaches a code or file to an order line. How a flow delivers a license key or a download once payment clears.
Order Invoices
5- List Order Invoices Lists invoices across the store or narrowed to one order or date range.
- Get Order Invoice Returns one invoice with its type, number, totals and parent order.
- Create Order Invoice Records an invoice against an order. A credit note cannot exist before the tax invoice it corrects, which the workflow has to respect rather than discover.
- Print Order Invoice Produces the printable invoice, which is the document a fulfillment flow attaches to the shipment.
- Send Order Invoice Emails the invoice to the customer. It needs an address on the invoice, so a guest order without one has nowhere to send.
Products
14- List Products Lists products with keyword, status and category filters. A lighter response format is available when a flow only needs identifiers and prices.
- Get Product Returns one product in full, including pricing, stock, options, images and its storefront URL.
- Get Product By SKU Looks a product up by SKU, which is what an external inventory system usually has rather than a platform ID.
- Create Product Creates a product. A new product stays hidden until it has an image, so a create that expects a live listing is a three step sequence.
- Update Product Updates a product by ID, leaving unsent fields alone. Sending images replaces the whole set rather than adding to it.
- Update Product By SKU Updates a product addressed by SKU, so an external system writes back without resolving the platform ID first.
- Delete Product Deletes a product permanently. Hiding it takes it off the storefront without losing it, which is usually what was actually meant.
- Delete Product By SKU Deletes a product addressed by SKU. The same permanence applies.
- Change Product Status Moves a product between on sale, out of stock and hidden. The reversible way to pull something from the storefront.
- Update Product Price By SKU Sets one product's price by SKU. The cheapest write a pricing system can make.
- Update Bulk Product Prices Sets prices for many products in one call. A batch boundary worth a rule about how far a price may move unattended.
- Run Product Actions Applies bulk changes to a filtered set of products, including pricing and sales channels. Its select all filter targets the entire catalog, so the selection deserves the same scrutiny as the change.
- List Product Tags Lists the store's product tags with the IDs the product and order filters take.
- Create Product Tag Creates a product tag.
Inventory
5- List Product Quantities Reads stock across the catalog, optionally for one branch. The read half of a stock sync.
- Update Bulk Quantities Writes stock for many products at once. The mode is the decision: increment for a received delivery, decrement for damage or picking, overwrite only for a counted total.
- List Quantity Audit Lists audited stock changes across the catalog. The trail that answers where a quantity went.
- List Quantity Change Reasons Lists the store's reason codes for an inventory change. Sending one is what makes the audit trail readable later.
- Update Variant Quantity Sets the stock of a single variant. The bulk operation is the platform's preferred path and covers more cases.
Product Variants
3- List Product Variants Lists a product's variants with their SKUs, barcodes, prices and per branch stock. A stock sync writes here once a product has options.
- Get Product Variant Returns one variant in full, including its option combination and stock across branches.
- Update Product Variant Updates a variant's SKU, barcode, prices, weight, stock and low stock threshold, including per branch quantities.
Product Options
8- Create Product Option Adds an option such as size or color to a product. On a standard product this generates variants, so it quietly multiplies SKUs.
- Get Product Option Returns one option with its type, visibility rules and values.
- Update Product Option Updates an option and its values. Sending values replaces the set, so an omitted value is a removed value.
- Delete Product Option Deletes an option along with its values and the variants generated from them. A product's SKUs go with it.
- Create Product Option Value Adds one value without disturbing the others, which is the safe way to extend a size range.
- Get Product Option Value Returns one option value with its price adjustment, stock and display label.
- Update Product Option Value Updates an option value's label, price adjustment, stock or default flag.
- Delete Product Option Value Deletes one value, and the variant generated from it goes too.
Product Media
6- Attach Product Image Attaches one image from a public URL. Attaching the first image is also what lets a new product leave hidden status.
- Update Product Image Replaces an image or changes its alt text, position or attached model.
- Delete Product Image Removes one image from a product.
- Attach Product Video Attaches a video to a product, one per call.
- Attach Product Digital Codes Adds a batch of license keys or vouchers to a digital product. This is the stock that product sells from.
- Delete Product Digital File Removes a digital file from a product.
Customers
7- List Customers Lists customers filtered by a keyword that matches a mobile number, email or name, and by creation date.
- Get Customer Returns one customer with contact details, group membership, city and, on request, ban status.
- Create Customer Creates a customer record. The mobile number and its country code travel together, and the code comes from the country reference list.
- Update Customer Updates a customer's details, leaving unsent fields alone.
- Delete Customer Deletes a customer record permanently. Banning is the reversible way to stop someone ordering.
- Ban Customer Blocks a customer from placing orders. They can still sign in, so this stops the transaction rather than the account.
- Unban Customer Lifts a ban. The genuine inverse of the operation above, which is why an agent can hold both.
Customer Groups
6- List Customer Groups Lists the store's groups with the conditions and features attached to each.
- Create Customer Group Creates a group, optionally with conditions that assign members automatically. A conditional group is how a loyalty tier maintains itself.
- Update Customer Group Updates a group's name or its automatic assignment conditions.
- Delete Customer Group Deletes a group. Members leave the group; their customer records are untouched.
- Add Customers To Group Puts a list of customers into a group in one call. How a segmentation flow applies its result.
- Update Default Customer Group Changes the payment methods and shipping options every new customer inherits.
Customer Balances
4- Get Customer Loyalty Points Reads a customer's point balance and history.
- Update Customer Loyalty Points Adds or removes loyalty points with a reason attached.
- Deposit To Customer Wallet Credits a customer's store wallet. The instrument a merchant reaches for when a card refund is the wrong answer, such as goodwill after a late delivery.
- Withdraw From Customer Wallet Debits a customer's store wallet. The operation this page's human gate exists for, because it removes value a named person is already counting on.
Categories
8- List Categories Lists categories with keyword and status filters, and can return localized names or member products in the same call.
- Get Category Returns one category with its parent, sort order, SEO fields and storefront URL.
- Create Category Creates a category, optionally under a parent and with its products already assigned and sorted.
- Update Category Updates a category's name, status, image, parent, sort order, SEO fields or product assignment.
- Delete Category Deletes a category, which affects its children and the products inside it. Hiding it is the safer way to take it off the storefront.
- List Category Children Lists the sub-categories one level under a category, which is how a flow walks the tree.
- List Category Products Lists the products in a category with their sort order inside it.
- Search Categories Searches categories by name or ID list, which is cheaper than paging the whole tree.
Brands
5- List Brands Lists the store's brands, optionally with translations.
- Get Brand Returns one brand with its logo, banner, description and SEO fields.
- Create Brand Creates a brand from a name and a logo supplied as a public URL.
- Update Brand Updates a brand's name, imagery, description or SEO fields.
- Delete Brand Deletes a brand. Products carrying it lose the association.
Shipments
7- List Shipments Lists shipments filtered by order, courier, status, payment method, date and origin or destination.
- Get Shipment Returns one shipment with its courier, tracking, packages, addresses, cost and status.
- Create Shipment Creates a shipment for an order against a chosen courier. The origin is either an address or a branch, and cash on delivery carries its own required amount.
- Update Shipment Updates tracking, status, cost, label or assigned driver. Assigning a driver requires their name and mobile, because a person is now expected at a door.
- Cancel Shipment Cancels a shipment with its courier.
- Return Shipment Creates a return against an existing shipment, which is how goods come back to the merchant.
- Get Shipment Tracking Returns the carrier's tracking events behind a shipment's current status.
Shipping
12- List Shipping Companies Lists the carriers active on the store and how each was activated. Only the ones the merchant added by hand can be edited or removed.
- Get Shipping Company Returns one shipping company with its slug, logo and activation type.
- Create Shipping Company Records a carrier the platform does not integrate with directly.
- Update Shipping Company Renames a merchant added carrier. A carrier linked from the dashboard is not editable here.
- Delete Shipping Company Removes a merchant added carrier.
- Get Shipping Company Options Returns the options a carrier exposes, which is what a merchant fills in when linking it.
- List Estimate Rates Returns the estimated rates across the store's carriers. The read a quoting flow makes before choosing.
- List Shipping Zones Lists the geographic areas the store's shipping options cover.
- Get Shipping Zone Returns one zone with the countries, cities and rules it covers.
- Create Shipping Zone Creates a shipping zone.
- Update Shipping Zone Updates a shipping zone's definition.
- Delete Shipping Zone Deletes a zone, and the shipping options that relied on it stop covering its area.
Branches
5- List Branches Lists branches and warehouses with contacts, hours and fulfillment flags. The branch is what stock, pickups and shipment origins are keyed on.
- Get Branch Returns one branch with its address, contacts, hours, preparation time and flags.
- Create Branch Creates a branch or warehouse. Whether it is collectable from, shippable from, or a register location decides what it is actually for.
- Update Branch Updates a branch's address, contacts, hours, flags or status.
- Delete Branch Deletes a branch, which affects stock held there and orders routed through it. Deactivating it is usually the safer move.
Coupons
7- List Coupons Lists coupons filtered by keyword and by creation or expiry window.
- Get Coupon Returns one coupon with its type, amount, validity, usage limits and inclusion rules.
- Create Coupon Creates a single coupon or generates a batch of codes under a group. A percentage coupon needs a ceiling, which is what stops a campaign from writing an unbounded discount.
- Update Coupon Updates a coupon's code, amount, window, limits or inclusion rules.
- Delete Coupon Deletes a coupon. Orders that already used it stand, but the code stops working immediately.
- List Coupon Codes Lists the individual codes generated under a group coupon, which is the only way to read them afterwards.
- Get Coupon Statistics Returns usage for one coupon or group, counted on paid orders rather than raw redemptions.
Special Offers
6- List Special Offers Lists the automatic promotions that apply without a code.
- Get Special Offer Returns one offer with its conditions, scope and reward.
- Create Special Offer Creates a promotion that applies without a coupon code. What it applies to decides what the condition block has to name.
- Update Special Offer Updates an offer's name, message, window, conditions or reward.
- Change Special Offer Status Turns an offer on or off without editing it. The fastest way to stop a promotion behaving badly.
- Delete Special Offer Deletes an offer permanently. Switching it off is the reversible alternative.
Carts
2- List Abandoned Carts Lists carts a shopper filled and left. The offset filter is what lets a recovery flow wait a decent interval before it messages anyone.
- Get Abandoned Cart Returns one abandoned cart with its items, totals, customer and checkout link.
Reviews
3- List Reviews Lists ratings, questions, shipping feedback and testimonials, filtered by type, rating, product, customer and publication state.
- Get Review Returns one review with its rating, content, author and publication state.
- Update Review Publishes or unpublishes a review. The moderation step a flow performs after screening the text, and a reasonable place to route a borderline case to a person.
Finance
12- List Transactions Lists the store's payment transactions. The ledger a reconciliation flow reads.
- Get Transaction Returns one transaction with its order, amount, method and status.
- Update Transaction Refunds, voids or reverses a payment, including partial refunds. It moves money, and it can fail for balance reasons that have nothing to do with the transaction itself.
- Print Transaction Invoice Produces the invoice document for a payment transaction.
- List Payment Methods Lists the payment methods available on the store. Their slugs are what order filters, coupon restrictions and group features all take.
- List Banks Lists the bank accounts the store receives payouts into.
- Get Bank Returns one payout bank account.
- List Taxes Lists the store's tax rates and the country each applies to.
- Get Tax Returns one tax rate with its country.
- Create Tax Creates a tax rate, optionally tied to a country.
- Update Tax Changes a tax rate or the country it applies to.
- Delete Tax Deletes a tax rate, and products relying on it fall back to the store default.
Reference Data
10- List Countries Lists countries with their IDs and mobile codes. Usually the first lookup an address building flow makes.
- Get Country Returns one country with its code, mobile code and currency.
- List Cities Lists the cities of a country, which addresses, branches and shipment filters take.
- List Districts Lists the districts of a city. The finest address level the platform records, and what a local shipping address needs.
- List Currencies Lists the store's currencies and which are active.
- List Available Currencies Lists every currency on offer, which is what an activation call picks from.
- Activate Currencies Turns store currencies on or off. Each entry carries its own state, so one call both enables and disables.
- List Languages Lists the store's enabled languages and their locales, which the translation fields are keyed on.
- Add Language Adds a language, which is what makes its translation keys accepted on products, categories and brands.
- Update Language Enables, disables or reorders one of the store's languages.
Exports
9- Export Orders Exports orders as a spreadsheet over a chosen date range and template.
- Export Products Exports product data, and produces the import templates a merchant fills in to load data back.
- Export Customers Exports customers, or produces the blank customer import template.
- List Export Templates Lists the saved export templates whose IDs the export operations take.
- List Export Columns Lists the columns available for a template, which is what template creation picks from.
- Create Export Template Creates a reusable template naming its columns, so a reporting flow always exports the same shape.
- Update Export Template Renames a template or changes its columns, replacing the column list rather than adding to it.
- Delete Export Template Deletes a template, and any scheduled export naming it stops working.
- List Export Logs Lists the store's activity log for product and customer events, filtered by event, date and employee.
Webhooks
5- List Webhooks Lists the webhooks registered on the store. Useful for seeing what FlowRunner registered and for spotting stale subscriptions other tools left behind.
- List Webhook Events Returns the platform's live catalog of event names. The authoritative list, because events get added without notice.
- Subscribe Webhook Registers a webhook for one event. Subscriptions are keyed on their URL, so two that share one silently overwrite each other. Give each its own.
- Update Webhook Changes a registered webhook's name, URL, version, rule, headers or security strategy.
- Unsubscribe Webhook Deactivates a registered webhook. Removing by URL clears every webhook on that URL, so address it by ID unless clearing the lot is the intent.
Triggers
1 triggersEvent Triggers
1- On Salla Event One realtime subscription that carries the store's whole event stream, selected by event name. An order reaching checkout arrives as `order.created`, a shopper leaving a full basket as `abandoned.cart`, a line falling under its threshold as `product.quantity.low`, and shipments, products, customers, categories, brands, branches, invoices, coupons, offers and reviews all arrive the same way. Each subscription registers its own webhook with its own signing secret, and every delivery is verified against that signature before a flow runs, so an agent never acts on a payload the store did not send.
Frequently Asked Questions
What can FlowRunner do with Salla?
FlowRunner agents can run Get User Information, Get Store Information, and List Store Settings in Salla, plus 179 more actions.
Does connecting Salla to FlowRunner require OAuth?
Yes. Salla connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.
Can Salla trigger a FlowRunner workflow automatically?
Yes. Salla supports 1 trigger that can start a FlowRunner workflow automatically.
Start building with Salla
Free plan, no card required. Connect in minutes.