\\\",\\n \\\"css_content\\\" : \\\".tweet-text{background-color:#fff2ac;background-image:linear-gradient(to right,#ffe359 0,#fff2ac 100%);font-weight:bolder;font-size:32px;font-family:Roboto,sans-serif;padding:4px}\\\",\\n \\\"generate_img_url\\\": true\\n}\",\"__typename\":\"OauthBody\"},\"bodyParams\":[],\"authorization\":{\"type\":null,\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":[],\"cellParams\":[],\"tab\":\"Body\",\"__typename\":\"OauthReq\"},\"marketplaceContent\":null,\"integrationConnections\":{\"nodes\":[],\"__typename\":\"IntegrationConnection\"}},\"otherApp\":{\"id\":\"app_mvNhQa\",\"name\":\"ServiceNow\",\"nameSlug\":\"servicenow\",\"description\":\"The smarter way to workflow\",\"appPrompts\":[{\"id\":\"17099\",\"label\":\"Smart Incident Routing\",\"prompt\":\"Build me an agent that monitors new ServiceNow incidents, uses AI to analyze the incident description and categorize it by urgency, impact, and technical domain, then automatically assigns it to the most appropriate support team based on current workload and expertise. The agent should also generate an initial troubleshooting plan using AI and add it as a work note to the incident.\",\"__typename\":\"AppPrompt\"},{\"id\":\"17100\",\"label\":\"Automated Resolution Suggestions\",\"prompt\":\"Create an agent that watches for ServiceNow incidents that have been open for more than 2 hours without resolution, uses AI to analyze the incident details and search through the knowledge base to find similar resolved cases, then generates intelligent resolution suggestions and posts them as work notes while notifying the assigned technician via email with the AI-generated recommendations.\",\"__typename\":\"AppPrompt\"},{\"id\":\"17101\",\"label\":\"Change Risk Assessment\",\"prompt\":\"Build an agent that monitors new ServiceNow change requests, uses AI to analyze the change description, affected systems, and implementation timeline to automatically calculate a risk score and impact assessment. The agent should then generate a detailed risk analysis report and route high-risk changes to the Change Advisory Board while auto-approving low-risk standard changes.\",\"__typename\":\"AppPrompt\"},{\"id\":\"17102\",\"label\":\"Intelligent Ticket Summarization\",\"prompt\":\"Create an agent that monitors ServiceNow incidents with multiple work notes and comments, uses AI to generate concise summaries of the entire ticket history including key actions taken, current status, and next steps. The agent should update a custom summary field and send the AI-generated summary to stakeholders via email when major milestones are reached.\",\"__typename\":\"AppPrompt\"},{\"id\":\"17103\",\"label\":\"Proactive Problem Detection\",\"prompt\":\"Build an agent that analyzes patterns in ServiceNow incident data using AI to identify recurring issues that should be escalated to problem management. The agent should detect clusters of similar incidents, generate root cause hypotheses using AI, and automatically create problem records with intelligent analysis and recommended investigation steps.\",\"__typename\":\"AppPrompt\"},{\"id\":\"17104\",\"label\":\"Smart SLA Monitoring\",\"prompt\":\"Create an agent that monitors ServiceNow incidents approaching SLA breaches, uses AI to analyze the current progress, complexity, and resource availability to predict if the SLA will be missed. The agent should generate intelligent escalation recommendations and automatically notify managers with AI-powered suggestions for preventing SLA violations.\",\"__typename\":\"AppPrompt\"},{\"id\":\"17105\",\"label\":\"Knowledge Base Enhancement\",\"prompt\":\"Build an agent that monitors resolved ServiceNow incidents, uses AI to identify cases that would benefit from knowledge articles, then automatically generates draft knowledge base articles with step-by-step resolution procedures. The agent should format the content appropriately and submit it for review by subject matter experts.\",\"__typename\":\"AppPrompt\"},{\"id\":\"23163\",\"label\":\"Intelligent Ticket Routing\",\"prompt\":\"Create an agent that automatically analyzes incoming ServiceNow incidents using AI to extract key information like urgency, category, and affected systems. The agent should intelligently route tickets to the appropriate assignment groups based on the content analysis, past resolution patterns, and current team workloads. Include AI-powered priority scoring that considers business impact, user sentiment from the description, and historical escalation patterns.\",\"__typename\":\"AppPrompt\"}],\"authType\":\"oauth\",\"customFieldsDescriptionMd\":\"Please follow the steps in [this doc](https://pipedream.com/apps/servicenow) to configure a client application on your ServiceNow instance that will allow Pipedream access to your instance's REST API. \\n\\nOnce you're done, enter the client ID and secret you configured in **Step 2**, along with your instance name. The instance name is the host portion of your instance's URL: that is, the `dev123` in `https://dev123.service-now.com/`.\",\"oauthScopes\":[],\"customFields\":[{\"name\":\"client_id\",\"__typename\":\"AppCustomField\"},{\"name\":\"client_secret\",\"__typename\":\"AppCustomField\"},{\"name\":\"instance_name\",\"__typename\":\"AppCustomField\"}],\"oauthReqsByType\":{\"requestToken\":{\"httpMethod\":\"POST\",\"url\":\"\",\"urlParams\":[],\"headerParams\":[],\"body\":null,\"bodyParams\":[],\"authorization\":{\"type\":\"OAuth\",\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":[],\"cellParams\":null,\"tab\":null,\"__typename\":\"OauthReq\"},\"authorization\":{\"httpMethod\":\"GET\",\"url\":\"https://{{custom_fields.instance_name}}.service-now.com/oauth_auth.do\",\"urlParams\":[{\"key\":\"client_id\",\"value\":\"{{custom_fields.client_id}}\",\"__typename\":\"Kv\"},{\"key\":\"redirect_uri\",\"value\":\"{{oauth.redirect_uri}}\",\"__typename\":\"Kv\"},{\"key\":\"state\",\"value\":\"{{oauth.state}}\",\"__typename\":\"Kv\"},{\"key\":\"response_type\",\"value\":\"code\",\"__typename\":\"Kv\"}],\"headerParams\":[],\"body\":{\"type\":\"fields\",\"contentType\":\"application/json\",\"fields\":[{\"name\":\"\",\"value\":\"\",\"__typename\":\"Nv\"}],\"mode\":\"fields\",\"raw\":\"\",\"__typename\":\"OauthBody\"},\"bodyParams\":[],\"authorization\":{\"type\":null,\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":[],\"cellParams\":null,\"tab\":\"Params\",\"__typename\":\"OauthReq\"},\"accessToken\":{\"httpMethod\":\"POST\",\"url\":\"https://{{custom_fields.instance_name}}.service-now.com/oauth_token.do\",\"urlParams\":[],\"headerParams\":[{\"key\":\"content-type\",\"value\":\"application/x-www-form-urlencoded\",\"__typename\":\"Kv\"},{\"key\":\"accept\",\"value\":\"application/json\",\"__typename\":\"Kv\"}],\"body\":{\"type\":\"fields\",\"contentType\":\"application/json\",\"fields\":[{\"name\":\"client_id\",\"value\":\"{{custom_fields.client_id}}\",\"__typename\":\"Nv\"},{\"name\":\"client_secret\",\"value\":\"{{custom_fields.client_secret}}\",\"__typename\":\"Nv\"},{\"name\":\"redirect_uri\",\"value\":\"{{oauth.redirect_uri}}\",\"__typename\":\"Nv\"},{\"name\":\"grant_type\",\"value\":\"authorization_code\",\"__typename\":\"Nv\"},{\"name\":\"code\",\"value\":\"{{oauth.code}}\",\"__typename\":\"Nv\"}],\"mode\":\"fields\",\"raw\":\"\",\"__typename\":\"OauthBody\"},\"bodyParams\":[{\"key\":\"client_id\",\"value\":\"{{custom_fields.client_id}}\",\"__typename\":\"Kv\"},{\"key\":\"client_secret\",\"value\":\"{{custom_fields.client_secret}}\",\"__typename\":\"Kv\"},{\"key\":\"redirect_uri\",\"value\":\"{{oauth.redirect_uri}}\",\"__typename\":\"Kv\"},{\"key\":\"grant_type\",\"value\":\"authorization_code\",\"__typename\":\"Kv\"},{\"key\":\"code\",\"value\":\"{{oauth.code}}\",\"__typename\":\"Kv\"}],\"authorization\":{\"type\":null,\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":[],\"cellParams\":null,\"tab\":\"Body\",\"__typename\":\"OauthReq\"},\"refreshToken\":{\"httpMethod\":\"POST\",\"url\":\"https://{{custom_fields.instance_name}}.service-now.com/oauth_token.do\",\"urlParams\":[],\"headerParams\":[{\"key\":\"content-type\",\"value\":\"application/x-www-form-urlencoded\",\"__typename\":\"Kv\"},{\"key\":\"accept\",\"value\":\"application/json\",\"__typename\":\"Kv\"}],\"body\":{\"type\":\"fields\",\"contentType\":\"application/json\",\"fields\":[{\"name\":\"client_id\",\"value\":\"⫷custom_fields.client_id⫸\",\"__typename\":\"Nv\"},{\"name\":\"client_secret\",\"value\":\"⫷custom_fields.client_secret⫸\",\"__typename\":\"Nv\"},{\"name\":\"grant_type\",\"value\":\"refresh_token\",\"__typename\":\"Nv\"},{\"name\":\"refresh_token\",\"value\":\"⫷oauth.refresh_token⫸\",\"__typename\":\"Nv\"}],\"mode\":\"fields\",\"raw\":\"\",\"__typename\":\"OauthBody\"},\"bodyParams\":[{\"key\":\"client_id\",\"value\":\"⫷custom_fields.client_id⫸\",\"__typename\":\"Kv\"},{\"key\":\"client_secret\",\"value\":\"⫷custom_fields.client_secret⫸\",\"__typename\":\"Kv\"},{\"key\":\"grant_type\",\"value\":\"refresh_token\",\"__typename\":\"Kv\"},{\"key\":\"refresh_token\",\"value\":\"⫷oauth.refresh_token⫸\",\"__typename\":\"Kv\"}],\"authorization\":{\"type\":null,\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":[],\"cellParams\":null,\"tab\":\"Headers\",\"__typename\":\"OauthReq\"},\"__typename\":\"OauthReqsByType\"},\"__typename\":\"App\",\"registryComponents\":[{\"id\":\"sc_k3ixVKrg\",\"key\":\"servicenow-create-case\",\"name\":\"Create Case\",\"description\":\"Creates a new case record in ServiceNow. [See the docs here](https://www.servicenow.com/docs/bundle/zurich-api-reference/page/integrate/inbound-rest/concept/trouble-ticket-open-api.html#title_trouble-ticket-POST-ticket-tt).\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_r1ilYG6O\",\"key\":\"servicenow-create-incident\",\"name\":\"Create Incident\",\"description\":\"Creates a new incident record in ServiceNow. [See the docs here](https://www.servicenow.com/docs/bundle/zurich-api-reference/page/integrate/inbound-rest/concept/trouble-ticket-open-api.html#title_trouble-ticket-POST-ticket-tt).\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_eqiDngz9\",\"key\":\"servicenow-create-table-record\",\"name\":\"Create Table Record\",\"description\":\"Inserts one record in the specified table.\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_OOiqp1E5\",\"key\":\"servicenow-get-table-record-by-sysid\",\"name\":\"Get Table Record By SysId\",\"description\":\"Retrieves the record identified by the specified sys_id from the specified table.\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_zziE9eYV\",\"key\":\"servicenow-get-table-records\",\"name\":\"Get Table Records\",\"description\":\"Retrieves multiple records for the specified table.\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"},{\"id\":\"sc_2AigzL8J\",\"key\":\"servicenow-update-table-record\",\"name\":\"Update Table Record\",\"description\":\"Updates the specified record with the name-value pairs included in the request body.\",\"type\":\"ACTION\",\"__typename\":\"SavedComponent\"}],\"componentCodeScaffoldRaw\":\"import { axios } from \\\"@pipedream/platform\\\"\\nexport default defineComponent({\\n props: {\\n servicenow: {\\n type: \\\"app\\\",\\n app: \\\"servicenow\\\",\\n }\\n },\\n async run({steps, $}) {\\n return await axios(,ドル {\\n url: `https://${this.servicenow.$auth.instance_name}.service-now.com/api/now/table/incident`,\\n headers: {\\n Authorization: `Bearer ${this.servicenow.$auth.oauth_access_token}`,\\n },\\n })\\n },\\n})\\n\",\"testRequest\":{\"httpMethod\":\"GET\",\"url\":\"https://{{custom_fields.instance_name}}.service-now.com/api/now/table/incident\",\"urlParams\":[],\"headerParams\":[],\"body\":{\"type\":\"fields\",\"contentType\":\"application/json\",\"fields\":[{\"name\":\"\",\"value\":\"\",\"__typename\":\"Nv\"}],\"mode\":\"fields\",\"raw\":\"\",\"__typename\":\"OauthBody\"},\"bodyParams\":[],\"authorization\":{\"type\":\"Bearer\",\"basicUsername\":\"\",\"basicPassword\":\"\",\"bearerToken\":\"{{oauth.access_token}}\",\"oauthAccessToken\":null,\"oauthRefreshToken\":null,\"oauthSignerUri\":null,\"__typename\":\"Authorization\"},\"extracts\":[],\"metadataExtracts\":[],\"cellParams\":[],\"tab\":\"Body\",\"__typename\":\"OauthReq\"},\"marketplaceContent\":{\"id\":\"820\",\"markdown\":\"# Overview\\n\\nThe ServiceNow API lets developers access and manipulate records, manage workflows, and integrate with other services on its IT service management platform. These capabilities support automating tasks, syncing data across platforms, and boosting operational efficiencies.\\n\\n# Getting Started\\n\\nBefore using the ServiceNow REST API from a workflow, configure **two** OAuth apps in your ServiceNow instance. These apps will grant access tokens to your users and authenticate requests to its REST API.\\n\\n## Create an External Client OAuth App\\n\\nFirst, sign into your [ServiceNow Developer Portal](https://developer.servicenow.com/dev.do#!/home) account to create or access an instance.\\n\\n1. Go to **System OAuth> Application Registry**.\\n\\n \\n\\n2. Create a new app by selecting **New** in the top right corner.\\n\\n \\n\\n3. Choose **Create an OAuth API endpoint for external clients**:\\n\\n \\n\\n4. Name your app, such as `Pipedream`. Use the default settings but specify the **Redirect URL**: `https://api.pipedream.com/connect/oauth/oa_g2oiqA/callback`.\\n\\n5. Click **Create**. It will appear in the Application Registry once created.\\n\\n \\n\\n### Create the OAuth Validator app\\n\\n1. Copy the client ID and secret from the `Pipedream` app you created above.\\n2. Go back to the **System OAuth> Application Registry> New** and select **Connect to an OAuth Provider (simplified)**\\n3. Name this app `Pipedream OAuth Validator` and add the previously copied client ID and secret. \\n4. Set the grant type to **Authorization Code** and the **Token URL** to `oauth_token.do`.\\n5. Use the same **Redirect URL** as before.\\n\\n6. Visit [Pipedream's account page](https://pipedream.com/accounts), and click **Click Here to Connect An App**. Search for **ServiceNow** and select it. Enter the client ID, client secret, and your instance name (e.g., `dev98042` from `https://dev98042.service-now.com/`).\\n\\n7. Press **Connect**. A new window will prompt you to login to your ServiceNow instance, authorizing Pipedream's access to the ServiceNow REST API.\\n\\n## ServiceNow Authorization Reference\\n\\n[This ServiceNow doc](https://docs.servicenow.com/bundle/orlando-platform-administration/page/administer/security/concept/c_OAuthAuthorizationCodeFlow.html) outlines the flow you should implement.\\n\\n## Additional Guidance For Hardened or Mature Instances\\n\\nThe standard instructions may not apply perfectly to customized or hardened ServiceNow instances. If you face a **504 Gateway Time-out** error or similar, consider these tips:\\n\\n* Assign a dedicated role and service account for this integration.\\n* Ensure the role has ACLs configured for the `oauth_credential` table and other necessary tables.\\n\\n# Example Use Cases\\n\\n- **Incident Management Automation**: Automatically create incidents in ServiceNow from alerts in Datadog or New Relic.\\n- **HR Onboarding Workflow**: Trigger a Pipedream workflow to set up new employee accounts in ServiceNow from HR systems like Workday.\\n- **Customer Support Ticket Sync**: Keep customer support tickets synced between ServiceNow and CRM platforms like Salesforce.\\n\\n# Troubleshooting\\n\\nIf you encounter a **504 Gateway Time-out** error, refer to the 'Additional Guidance For Hardened or Mature Instances' section for solutions.\\n\",\"__typename\":\"MarketplaceContent\"}}}","hasNext":false}}
with HTML to Image and ServiceNow?
Create an image from HTML. See the documentation
Creates a new case record in ServiceNow. See the docs here
Create a PDF file from HTML. See the documentation
Creates a new incident record in ServiceNow. See the docs here
Capture a screenshot from a URL. See the documentation
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
html_to_image: {
type: "app",
app: "html_to_image",
}
},
async run({steps, $}) {
const data = {
"html_content" : "<div class=\"mt-4 p-4 text-center\"style=width:500px><span class=\"mb-4 tweet-text\">This is Little Bear. He tolerates baths because he knows how phenomenal his floof will appear afterwards. 13/10</span><div class=\"mt-2 p-4\"><img class=\"mt-4 border rounded-circle shadow\"src=https://docs.htmlcsstoimage.com/assets/images/dog.jpg width=100px></div><h4 class=mt-2>WeRateDogs</h4><span class=text-muted>@dog_rates</span></div><link href=https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css rel=stylesheet crossorigin=anonymous integrity=sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk><link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@700\"rel=stylesheet>",
"css_content" : ".tweet-text{background-color:#fff2ac;background-image:linear-gradient(to right,#ffe359 0,#fff2ac 100%);font-weight:bolder;font-size:32px;font-family:Roboto,sans-serif;padding:4px}",
"generate_img_url": true
}
return await axios($, {
method: "post",
url: `https://api.htmlcsstoimg.com/api/v1/generateImage`,
headers: {
"CLIENT-API-KEY": `${this.html_to_image.$auth.api_key}`,
},
data,
})
},
})
The ServiceNow API lets developers access and manipulate records, manage workflows, and integrate with other services on its IT service management platform. These capabilities support automating tasks, syncing data across platforms, and boosting operational efficiencies.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
servicenow: {
type: "app",
app: "servicenow",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.servicenow.$auth.instance_name}.service-now.com/api/now/table/incident`,
headers: {
Authorization: `Bearer ${this.servicenow.$auth.oauth_access_token}`,
},
})
},
})