Look up stock in your ERP
Accept a SKU, query your ERP inventory API, and return a selected availability value.
Swipe sideways to explore the workflow branches.
TRIGGERHTTP Endpoint
Example configuration
{ "secretKey": "", "authEnabled": true, "extractors": [ { "$tag": "GetJsonValueAsString", "variableName": "sku", "jsonPath": "$.sku" } ] }stockLookupExternal API integration
Example configuration
{ "request": { "method": "GET", "path": [ { "$tag": "Constant", "value": "https://business-api.example.invalid/erp/inventory" } ], "headers": [ { "key": "Content-Type", "value": [ { "$tag": "Constant", "value": "application/json" } ] } ], "queryStrings": [ { "key": "sku", "value": [ { "$tag": "Variable", "name": "trigger.sku" } ] } ], "body": [ { "$tag": "Constant", "value": "" } ] }, "responseHandlers": [ { "$tag": "GetJsonValueAsString", "variableName": "available", "jsonPath": "$.available" } ] }- Success
stockReplyHTTP Response
Example configuration
{ "statusCode": 200, "headers": [], "body": { "$tag": "Json", "value": { "$tag": "Object", "properties": [ { "key": "available", "value": { "$tag": "String", "value": [ { "$tag": "Variable", "name": "stockLookup.available" } ] } } ] } } }
- Error
unavailableHTTP Response
Example configuration
{ "statusCode": 502, "headers": [], "body": { "$tag": "Json", "value": { "$tag": "Object", "properties": [ { "key": "status", "value": { "$tag": "String", "value": [ { "$tag": "Constant", "value": "lookup_unavailable" } ] } } ] } } }
- Success
This diagram follows the downloadable workflow. Edit and run it in Chatigram.Swipe the diagram to explore its branches.
Plan availability #
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Active workflows | 3 | 10 | 45 | Unlimited |
Allowances follow the published Chatigram pricing page. Your organization’s Billing & Plans screen confirms its subscription and current usage. Plans can change. Plan information reviewed 2026-11-10.
The business outcome #
Accept a SKU, query your ERP inventory API, and return a selected availability value.
This is an importable starter using Chatigram’s current native nodes. It needs destination-specific setup; it does not imply a dedicated connector for every CRM or ERP brand. Check your software’s API documentation and permissions.
Before you begin #
Set a fresh endpoint secret, ERP API URL and authorization, SKU parameter, and response extraction path.
The reserved example.invalid endpoint is deliberately non-working. No real customer data, account credentials, or private resource identifiers are embedded. Keep the workflow disabled until setup is complete.
Configure the workflow #
- Configure the protected HTTP Endpoint and send JSON containing a sku field.
- Replace the stockLookup placeholder URL with the inventory read endpoint for your ERP. Review whether it expects a query parameter or a path identifier.
- Update the available response extractor to match the actual ERP response. The reply exposes this selected value as text rather than forwarding the entire ERP response.
- Keep the failure response short and avoid returning private diagnostic fields.
Test the outcomes #
- Try a SKU with stock, one without stock, and an unknown SKU.
- Verify that the output format matches the caller’s expectations.
- Use a read-only ERP account for a lookup whenever the provider allows it.
Open Workflow Activity after the test. Import validation checks the definition; it does not prove a remote API accepted the business operation. Check the destination before repeating a send or write.
Make it your own #
Put reusable public settings in Properties, configure credentials through the protected connection options, and keep explicit error paths. Explore App Connections for existing provider-specific actions you can substitute through the editor.
Use the copy controls below for the complete workflow or its first node. The diagram and downloads come from the same definition. Use Share recipe to share the guide’s public address.
Try this in Chatigram
Setup required. Set a fresh endpoint secret, ERP API URL and authorization, SKU parameter, and response extraction path. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects.
View workflow JSON
{
"format": "chatigram-workflow",
"version": 1,
"metadata": {
"sourceName": "Look up stock in your ERP",
"importHelp": {
"note": "Setup required. Set a fresh endpoint secret, ERP API URL and authorization, SKU parameter, and response extraction path. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects."
}
},
"workflow": {
"instruction": null,
"multiLanguageSupport": null,
"properties": [],
"trigger": {
"$tag": "Trigger",
"type": "HTTP_ENDPOINT",
"data": {
"secretKey": "",
"authEnabled": true,
"extractors": [
{
"$tag": "GetJsonValueAsString",
"variableName": "sku",
"jsonPath": "$.sku"
}
]
}
},
"nodes": [
{
"$tag": "Node",
"id": "d0c00000-0000-4000-8000-000000000001",
"name": "stockLookup",
"parentId": null,
"branchIndex": 0,
"type": "HTTP_REQUEST_NODE_TYPE",
"data": {
"request": {
"method": "GET",
"path": [
{
"$tag": "Constant",
"value": "https://business-api.example.invalid/erp/inventory"
}
],
"headers": [
{
"key": "Content-Type",
"value": [
{
"$tag": "Constant",
"value": "application/json"
}
]
}
],
"queryStrings": [
{
"key": "sku",
"value": [
{
"$tag": "Variable",
"name": "trigger.sku"
}
]
}
],
"body": [
{
"$tag": "Constant",
"value": ""
}
]
},
"responseHandlers": [
{
"$tag": "GetJsonValueAsString",
"variableName": "available",
"jsonPath": "$.available"
}
]
}
},
{
"$tag": "Node",
"id": "d0c00000-0000-4000-8000-000000000002",
"name": "stockReply",
"parentId": "d0c00000-0000-4000-8000-000000000001",
"branchIndex": 0,
"type": "HTTP_RESPONSE",
"data": {
"statusCode": 200,
"headers": [],
"body": {
"$tag": "Json",
"value": {
"$tag": "Object",
"properties": [
{
"key": "available",
"value": {
"$tag": "String",
"value": [
{
"$tag": "Variable",
"name": "stockLookup.available"
}
]
}
}
]
}
}
}
},
{
"$tag": "Node",
"id": "d0c00000-0000-4000-8000-000000000003",
"name": "unavailable",
"parentId": "d0c00000-0000-4000-8000-000000000001",
"branchIndex": 1,
"type": "HTTP_RESPONSE",
"data": {
"statusCode": 502,
"headers": [],
"body": {
"$tag": "Json",
"value": {
"$tag": "Object",
"properties": [
{
"key": "status",
"value": {
"$tag": "String",
"value": [
{
"$tag": "Constant",
"value": "lookup_unavailable"
}
]
}
}
]
}
}
}
}
],
"gotos": []
}
}