News/Web
Supplier announcements endpoint setup and verification
What this endpoint does
A News/Web endpoint exposes article records from the feed, page, sitemap or API configured on its plugin installation. It gives pipelines a source of article URLs, titles, dates and available content. The endpoint selects the articles contract; it does not select the feed URL.
Like all data endpoints, it belongs to a workspace and can be referenced by projects in that workspace, subject to permissions. Saving it configures access; it does not start ingestion.
Directions and supported operations
This is an Ingress/read endpoint: feed, web page or news API → Semogram. The installed read capability supplies article records through source_stream; the installation selects the acquisition mode and source URLs. The endpoint selects the articles target.
This plugin does not publish articles, update websites or expose a destination/fact-store capability. A fetched article's URL is a record identifier, not an output target. Repeated reads may revisit articles; check identifiers and freshness before treating them as new records.
Plugin used
This endpoint uses the News/Web read capability. Installation steps for this example are included below. The News/Web installation guide provides optional further detail. Connection details and credentials stay on the installation; the endpoint selects a particular target through that installed capability.
What you need
- A Semogram account with workspace access and permission to manage endpoints
- An existing matching installation, or the connection details to create one using the steps below
- Choose a real source you can access and configure it on the installation. For a feed, set
source.modetorss_feedandsource.feedUrlto its URL. Use a small article bound for the first read
Example setup
This example assumes the installation already points to your chosen supplier-news RSS feed. We choose supplier_news as the endpoint name and signals as its namespace. The target value articles is defined by the plugin contract; it is not a feed name. Use url as a key hint only after inspecting returned records.
Install and configure the plugin
- Open Plugins in this workspace and select Explore.
- Find News/Web, inspect its publisher/version and select its read capability.
- Name the installation and fill its connection settings using your actual external-system details.
- Save and run the supported connection check. Fix any reported error before creating the endpoint.
Example installation configuration:
Open workspace Plugins → Explore, choose the matching capability and fill its installation settings. Enter values in the labeled controls rather than pasting the whole JSON object.
| UI field | Example value |
|---|---|
| Source → Mode | rss_feed |
| Source → Feed url | https://YOUR_FEED_HOST/feed.xml |
| Max articles | 10 |
Nested labels above identify the containing group. Lists use the form’s list controls; open-ended objects use its object editor. Labels and available options follow the installed version’s contract. Enter credentials in the protected fields and review the selected installation before saving.
In the platform assistant or your connected MCP assistant, ask:
Install the plugin described on this page in this workspace. Discover its catalog entry, select the matching capability and propose the installation using the connection settings shown here. Ask me to enter credentials in protected installation fields. Show the selected plugin/version, capability and non-secret settings before saving.Replace placeholders with real accessible resources. The assistant prepares the operation; inspect its proposed inputs and result.
Use plugin_catalog_list / plugin_catalog_get to obtain the discovery ID and matching capability class (reads, writes or factStores). Call plugin_installation_create with the arguments below through an authenticated MCP connection. The workspace comes from that connection. Enter credentials through an authorized protected configuration path; do not send real secrets as conversational prompt text.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "plugin_installation_create",
"arguments": {
"capabilityClass": "<MATCHING_CAPABILITY_CLASS>",
"discoveryId": "<DISCOVERY_ID_FROM_CATALOG>",
"name": "<INSTALLATION_NAME>",
"config": {
"source": {
"mode": "rss_feed",
"feedUrl": "https://YOUR_FEED_HOST/feed.xml"
},
"maxArticles": 10
},
"idempotencyKey": "<UNIQUE_KEY_FOR_THIS_INSTALLATION>"
}
}
}This operation has no standalone public /api/v1 plugin-installation/catalog route in the current implementation. Use the UI or MCP methods shown here.
This operation has no standalone public /api/v1 plugin-installation/catalog route in the current implementation. Use the UI or MCP methods shown here.
Replace every YOUR_… value. Enter credentials only in protected installation configuration. The configuration above is separate from the endpoint target below; selecting a target does not create or authenticate the connection.
Choose the feed
Replace the feed URL above with an RSS/Atom URL you can access. Open it in a feed reader or inspect its XML to identify one article's title and URL. Those values are your verification fixture. The endpoint target below remains {"type":"articles"} because the source URL is already configured on the installation.
Use the assistant
Open Data Endpoints → New data endpoint in the workspace. Describe your actual target and choose a name for the endpoint. For the example above, you could ask:
Create a source endpoint named supplier_news in namespace signals.
Use our installed News/Web read capability with contract source_stream
and set these target fields:
Type: articles
Review the proposed connection and target before saving.Replace example values with your own. Give the assistant the installed connection reference; keep credentials in protected installation settings.
Configure manually
Choose Edit manually, select the matching installed capability and configure:
| Field | Value |
|---|---|
| Name | supplier_news |
| Namespace | signals |
| Role | source |
| Contract | source_stream |
Open workspace Data Endpoints → New data endpoint → Edit manually, choose the direction and installed capability described in this example, then fill the target fields. Enter values in the labeled controls rather than pasting the whole JSON object.
| UI field | Example value |
|---|---|
| Type | articles |
Nested labels above identify the containing group. Lists use the form’s list controls; open-ended objects use its object editor. Labels and available options follow the installed version’s contract. Review the endpoint name, direction, capability and selected target before saving.
In the platform assistant or your connected MCP assistant, ask:
Create the endpoint described on this page using these settings:
name: <ENDPOINT_NAME_FROM_THIS_EXAMPLE>
namespace: <ENDPOINT_NAMESPACE_FROM_THIS_EXAMPLE>
role: source
contractKind: source_stream
target / type: articles
pluginCapabilityInstallationId: <INSTALLED_CAPABILITY_UUID>
Use the actual installed capability and the endpoint name/namespace selected in this example. Show the proposed direction, connection and target before saving. Keep credentials on the installation.Replace placeholders with real accessible resources. The assistant prepares the operation; inspect its proposed inputs and result.
Use a workspace API key with endpoints:write. Set SEMOGRAM_API_KEY in your shell; replace resource placeholders with real IDs. This is an HTTP resource request, not an MCP JSON-RPC message.
curl --request POST "https://platform.semogram.com/api/v1/data-endpoints" \
--header "Authorization: Bearer ${SEMOGRAM_API_KEY}" \
--header "Idempotency-Key: <UNIQUE_KEY_FOR_THIS_ENDPOINT>" \
--header "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"name": "<ENDPOINT_NAME_FROM_THIS_EXAMPLE>",
"namespace": "<ENDPOINT_NAMESPACE_FROM_THIS_EXAMPLE>",
"role": "source",
"contractKind": "source_stream",
"target": {
"type": "articles"
},
"pluginCapabilityInstallationId": "<INSTALLED_CAPABILITY_UUID>"
}
JSONCall source_create with the arguments below through an authenticated workspace MCP connection. Replace the name/namespace placeholders with the labels chosen in this example and use the actual installed capability UUID. Set the role/contract to the direction described here; the workspace is resolved from the connection. This configures an endpoint and does not execute a read or write.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "source_create",
"arguments": {
"name": "<ENDPOINT_NAME_FROM_THIS_EXAMPLE>",
"namespace": "<ENDPOINT_NAMESPACE_FROM_THIS_EXAMPLE>",
"role": "source",
"contractKind": "source_stream",
"target": {
"type": "articles"
},
"pluginCapabilityInstallationId": "<INSTALLED_CAPABILITY_UUID>",
"idempotencyKey": "<UNIQUE_KEY_FOR_THIS_ENDPOINT>"
}
}
}Set the primary-key hint to url after checking uniqueness and nulls. Add a useful description, owner and expected freshness. Save in the workspace. Inspect the installed version’s contract before adding optional settings.
Verify the endpoint
- Open the saved endpoint and run its supported connection check and schema inspection.
- Read a small sample through the supported preview. If the connector has no preview, select a project, open Pipeline Studio and create a pipeline with a source node referencing this endpoint.
- Configure a bounded test input using the connector's supported settings, validate the pipeline, save a version and run it.
- Inspect returned records or the completed run's output. Compare expected keys and values with the example fixture before scheduling anything.
Compare URLs, titles, dates and returned content with the feed. Distinguish a summary from full article content before using it downstream.
Check connectivity, target validity and actual data separately. Saving does not import records or schedule execution.
Manage the endpoint
The feed URL belongs to the installation. The articles target does not choose a new feed. Other source modes likewise use installation settings. Review or separate installations for different source configurations.
Keep credentials on the installation. Review consumers before replacing capabilities, changing targets or deleting endpoints.
FAQ
Why does verification fail?
Check source mode, feed reachability, allowlists and bounds. Handle missing dates/content explicitly downstream.
Can another project use it?
Yes, within the same workspace and subject to permissions. The endpoint remains workspace-scoped.
What comes after verification?
Use sources in a bounded pipeline, destinations in a supported write flow, and stores in ontology bindings. Inspect real output before scheduling recurring work.