Skip to content

ITSM, PM & ERP Triggers

ITSM (IT Service Management), PM (Project Management), and ERP (Enterprise Resource Planning) systems are the backbone of enterprise operations. RTILA X integrates with the most popular platforms in each category, allowing your scraped data to flow directly into ticketing systems, project trackers, and enterprise resource systems.

RTILA X provides three ITSM, PM & ERP triggers:

Trigger System Purpose
JIRA Atlassian JIRA Create issues, track bugs, manage project tasks
ServiceNow ServiceNow ITSM Create incidents, manage IT tickets, track requests
SAP OData SAP ERP Read and write SAP data via OData REST APIs

JIRA is Atlassian’s project management and issue tracking platform. It is used by millions of teams worldwide for software development, IT service management, and project tracking. The JIRA trigger lets your automation create issues, update existing issues, add comments, and search for issues — all automatically.

The JIRA trigger interacts with the JIRA REST API to manage issues. You can create new issues from scraped data, update existing issues, add comments, or search for issues using JQL (JIRA Query Language). This is perfect for automatically creating bug reports, tracking scraped data issues, or updating project status.

Parameter Type Required Default Description
base_url string ✅ Yes — Your JIRA instance URL. Example: https://company.atlassian.net
email string ✅ Yes — The email address of your Atlassian account.
api_token string ✅ Yes — Your Atlassian API token. Generate at id.atlassian.com/manage-profile/security/api-tokens. Supports ${variable} substitution.
operation string ✅ Yes — The operation to perform. Options: create_issue, get_issue, update_issue, add_comment, search_jql.
project_key string No — The JIRA project key (e.g., PROJ, DEV, IT). Required for create_issue.
issue_type string No Task The issue type. Options include: Task, Bug, Story, Epic, Sub-task. Default: Task.
summary string No — The issue title/summary. Required for create_issue. Supports ${variable} substitution.
description string No — The issue description. Supports ${variable} substitution.
issue_key string No — The issue key (e.g., PROJ-123). Required for get_issue, update_issue, and add_comment.
comment_body string No — The comment text. Required for add_comment. Supports ${variable} substitution.
jql_query string No — A JQL query string. Required for search_jql. Example: project = PROJ AND status = Open.
fields object No — Additional JIRA fields to set. Example: {"priority": {"name": "High"}, "labels": ["scraped-data"]}
max_results integer No 50 Maximum number of results to return for search_jql.
Operation Description Required Parameters
create_issue Creates a new JIRA issue project_key, issue_type, summary
get_issue Retrieves a specific issue by key issue_key
update_issue Updates an existing issue’s fields issue_key, fields
add_comment Adds a comment to an existing issue issue_key, comment_body
search_jql Searches for issues using JQL jql_query
Field Type Description
result any The JIRA API response. Contains the created/updated issue or search results.

Example: Create an Issue from Scraped Data

Section titled “Example: Create an Issue from Scraped Data”
{
"base_url": "https://company.atlassian.net",
"email": "automation@company.com",
"api_token": "${jira_api_token}",
"operation": "create_issue",
"project_key": "SCRAPER",
"issue_type": "Task",
"summary": "New products found: ${product_name}",
"description": "Product found during automated scraping.\n\nProduct: ${product_name}\nPrice: ${product_price}\nURL: ${product_url}\nScraped at: ${date}",
"fields": {
"priority": {"name": "Medium"},
"labels": ["scraped-data", "automation"]
}
}
{
"base_url": "https://company.atlassian.net",
"email": "automation@company.com",
"api_token": "${jira_api_token}",
"operation": "add_comment",
"issue_key": "SCRAPER-42",
"comment_body": "Automated update: Price changed from ${old_price} to ${product_price}"
}
{
"base_url": "https://company.atlassian.net",
"email": "automation@company.com",
"api_token": "${jira_api_token}",
"operation": "search_jql",
"jql_query": "project = SCRAPER AND status = Open AND created >= -7d",
"max_results": 20
}
Credential Where to Find It
Base URL Your JIRA URL (e.g., https://company.atlassian.net)
Email Your Atlassian account email
API Token id.atlassian.com/manage-profile/security/api-tokens → Create API Token
Project Key JIRA → Projects → Your project → Project key (shown in the URL)
  • Store your API token as a project variable to avoid hardcoding it.
  • Use create_issue to automatically create bug reports or tracking issues from scraped data.
  • Use add_comment to add automated updates to existing issues.
  • Use search_jql to find related issues before creating duplicates.
  • Use the fields parameter to set priority, labels, assignees, and custom fields.
  • JQL is powerful — learn JQL syntax to write complex searches.

ServiceNow is the leading IT Service Management (ITSM) platform. It is used by IT departments worldwide to manage incidents, changes, problems, and service requests. The ServiceNow trigger lets your automation create, read, and update ServiceNow records automatically.

The ServiceNow trigger interacts with the ServiceNow REST API to manage records in any ServiceNow table. You can create new records (like incidents or change requests), retrieve existing records, or update existing records. This is perfect for automatically creating IT tickets from scraped data or updating service records.

Parameter Type Required Default Description
instance_url string ✅ Yes — Your ServiceNow instance URL. Example: https://company.service-now.com
username string ✅ Yes — Your ServiceNow username.
password string ✅ Yes — Your ServiceNow password. Supports ${variable} substitution.
table_name string ✅ Yes — The ServiceNow table name. Example: incident, change_request, problem, sc_request.
operation string ✅ Yes — The operation to perform. Options: create_record, get_records, update_record, get_record.
record_data object No — Field values for creating or updating records. Example: {"short_description": "New incident", "urgency": "2"}
sys_id string No — The unique ServiceNow record ID. Required for update_record and get_record.
query_params object No — Filter criteria for get_records. Example: {"active": "true", "priority": "1"}
limit integer No 100 Maximum number of records to return for get_records.
Operation Description Required Parameters
create_record Creates a new record in the specified table record_data
get_records Retrieves records matching filter criteria query_params (optional)
update_record Updates an existing record by sys_id sys_id, record_data
get_record Retrieves a single record by sys_id sys_id
Field Type Description
result any The ServiceNow API response. Contains the created/updated record or query results.
Table Name Description Use Case
incident IT incidents and outages Create incident tickets from scraped alerts
change_request Change management requests Create change requests
problem Problem records for root cause analysis Track recurring issues
sc_request Service catalog requests Create service requests
kb_article Knowledge base articles Create knowledge articles from scraped content
cmdb_ci Configuration items in CMDB Update infrastructure records
{
"instance_url": "https://company.service-now.com",
"username": "automation_user",
"password": "${servicenow_password}",
"table_name": "incident",
"operation": "create_record",
"record_data": {
"short_description": "Website monitoring alert: ${target_url} is down",
"description": "Automated alert from RTILA X automation.\n\nURL: ${target_url}\nError: ${last_error}\nTime: ${completion_time}",
"urgency": "2",
"impact": "2",
"category": "software"
}
}
{
"instance_url": "https://company.service-now.com",
"username": "automation_user",
"password": "${servicenow_password}",
"table_name": "incident",
"operation": "update_record",
"sys_id": "abc123def456",
"record_data": {
"state": "6",
"close_notes": "Resolved by automated monitoring."
}
}
{
"instance_url": "https://company.service-now.com",
"username": "automation_user",
"password": "${servicenow_password}",
"table_name": "incident",
"operation": "get_records",
"query_params": {
"active": "true",
"priority": "1"
},
"limit": 20
}
Credential Where to Find It
Instance URL Your ServiceNow URL (e.g., https://company.service-now.com)
Username Your ServiceNow username (ask your ServiceNow admin)
Password Your ServiceNow password
Table Names ServiceNow documentation or ask your ServiceNow admin
  • Store your password as a project variable to avoid hardcoding it.
  • Use create_record with incident table to create IT tickets automatically.
  • Use get_records with query_params to find related records before creating duplicates.
  • Use update_record to update ticket status after your automation resolves an issue.
  • ServiceNow table names are lowercase (e.g., incident, not Incident).
  • Use the limit parameter to limit results for large queries.

SAP is the world’s leading ERP (Enterprise Resource Planning) system. The SAP OData trigger interacts with SAP systems via OData REST APIs, allowing you to read and write SAP data directly from your automation.

The SAP OData trigger interacts with SAP systems via OData (Open Data Protocol) REST APIs. You can read data from SAP entity sets, create new records, or execute custom actions. This is perfect for integrating scraped data with SAP ERP systems for procurement, inventory, or supply chain management.

Parameter Type Required Default Description
base_url string ✅ Yes — The SAP OData service URL. Example: https://sap.company.com/sap/opu/odata/sap/SERVICE_NAME
operation string ✅ Yes — The operation to perform. Options: get_data, post_data, execute_action.
username string No — Your SAP username. Required if the service requires authentication.
password string No — Your SAP password. Required if the service requires authentication. Supports ${variable} substitution.
entity_set string No — The entity collection name. Example: ProductSet, SalesOrderSet. Required for get_data and post_data.
entity_key string No — The entity key for targeting a specific record. Example: '12345'.
payload object No — The request payload for post_data or execute_action. Supports ${variable} substitution.
query_params object No — Query parameters for filtering results. Example: {"$filter": "Price gt 100", "$top": "50"}
headers object No — Custom HTTP headers. Example: {"Accept": "application/json"}
Operation Description Required Parameters
get_data Reads data from an SAP entity set entity_set
post_data Creates a new record in an SAP entity set entity_set, payload
execute_action Executes a custom SAP action/function import entity_set or entity_key, payload
Field Type Description
result any The SAP OData API response. Contains the requested data or operation result.
{
"base_url": "https://sap.company.com/sap/opu/odata/sap/PRODUCT_SRV",
"operation": "get_data",
"username": "sap_user",
"password": "${sap_password}",
"entity_set": "ProductSet",
"query_params": {
"$filter": "Price gt 100",
"$top": "50"
}
}
{
"base_url": "https://sap.company.com/sap/opu/odata/sap/SALES_ORDER_SRV",
"operation": "post_data",
"username": "sap_user",
"password": "${sap_password}",
"entity_set": "SalesOrderSet",
"payload": {
"CustomerID": "${customer_id}",
"ProductID": "${product_id}",
"Quantity": 1,
"OrderDate": "${date}"
}
}
{
"base_url": "https://sap.company.com/sap/opu/odata/sap/PRODUCT_SRV",
"operation": "execute_action",
"username": "sap_user",
"password": "${sap_password}",
"entity_set": "ProductSet",
"entity_key": "'12345'",
"payload": {
"ActionName": "UpdatePrice",
"NewPrice": "${new_price}"
}
}
Information Where to Find It
OData Service URL SAP Gateway Service Builder (transaction /n/IWFND/MAINT_SERVICE) or ask your SAP admin
Entity Set Name SAP Gateway Service Builder → Entity Sets
Username/Password Your SAP user credentials (ask your SAP admin)

SAP OData service URLs typically follow this pattern:

https://<sap-host>/sap/opu/odata/sap/<SERVICE_NAME>/

For example:

https://sap.company.com/sap/opu/odata/sap/PRODUCT_SRV/
https://sap.company.com/sap/opu/odata/sap/SALES_ORDER_SRV/
  • Store your SAP password as a project variable to avoid hardcoding it.
  • Use get_data to read existing SAP data before creating records.
  • Use post_data to create new records from scraped data.
  • Use execute_action for custom SAP actions or function imports.
  • Use query_params with OData syntax ($filter, $top, $select) for filtering.
  • SAP OData services require specific permissions. Ensure your SAP user has the necessary authorizations.
  • Use headers to set Accept: application/json for JSON responses.
Scenario Recommended Trigger
Create bug reports or project tasks JIRA
Track IT incidents and service requests ServiceNow
Integrate with SAP ERP for procurement/inventory SAP OData
Create change management requests ServiceNow (change_request table)
Track project tasks and stories JIRA
Read/write SAP data via OData SAP OData
Create knowledge base articles ServiceNow (kb_article table)
Search for related issues before creating JIRA (search_jql)

You can chain multiple ITSM/ERP triggers together. For example:

Pattern: Scrape → Create JIRA Issue → Notify Slack

  1. JIRA — Create an issue from scraped data.
  2. Slack Webhook — Send a notification that the issue was created.

Pattern: Scrape → Create ServiceNow Incident → Update Status

  1. ServiceNow — Create an incident from scraped alert data.
  2. ServiceNow — Update the incident status based on automation results.

Pattern: Scrape → Read SAP Data → Create JIRA Issue

  1. SAP OData — Read product data from SAP.
  2. JIRA — Create a JIRA issue with the product data.
Error Cause Solution
Authentication failed Wrong credentials Verify username/password or API token
404 Not Found Wrong URL, entity set, or record ID Verify the URL and entity/record identifiers
Permission denied Insufficient permissions Check user permissions in the target system
Timeout Request took too long Increase the timeout or check network connectivity
Invalid payload Malformed JSON or wrong field names Check your payload structure against the API documentation
Rate limited Too many requests Add delays between runs or reduce frequency
JQL syntax error Invalid JQL query Check JQL syntax (JIRA only)
OData error Invalid OData query or entity Check OData URL and entity set names