Skip to main content

AgentCreateInput

Input data for creating a new agent.

Provides complete configuration for a new agent including localized content, webhook integration, authentication, and behavioral settings.

input AgentCreateInput {
names: [LocalizedStringInput!]!
descriptions: [LocalizedStringInput!]
welcomeMessages: [LocalizedStringInput!]
buttonLabels: [LocalizedStringInput!]
active: Boolean!
types: [String!]!
trigger: AgentTrigger!
interactionMode: AgentInteractionMode!
webhookUrl: String!
webhookTimeoutMs: Int!
webhookSignatureSalt: String
webhookBasicAuthUsername: String
webhookBasicAuthPassword: String
}

Fields

AgentCreateInput.names ● [LocalizedStringInput!]! non-null input

Localized display names for the agent.

Validation: Array must not be empty, must contain unique language entries.

AgentCreateInput.descriptions ● [LocalizedStringInput!] list input

Localized descriptions for the agent.

Validation: Array must not be empty, must contain unique language entries.

AgentCreateInput.welcomeMessages ● [LocalizedStringInput!] list input

Localized welcome messages displayed when the agent is activated.

Validation: Array must not be empty, must contain unique language entries.

AgentCreateInput.buttonLabels ● [LocalizedStringInput!] list input

Localized button labels for the agent.

Validation: Array must not be empty, must contain unique language entries.

AgentCreateInput.active ● Boolean! non-null scalar

Whether the agent should be active upon creation.

AgentCreateInput.types ● [String!]! non-null scalar

Classification types for the agent.

Validation: Must be in SCREAMING_SNAKE_CASE format (e.g., ORDER_SUPPORT, PRODUCT_INFO).

AgentCreateInput.trigger ● AgentTrigger! non-null enum

Trigger mechanism that activates the agent interaction.

AgentCreateInput.interactionMode ● AgentInteractionMode! non-null enum

Interaction mode defining the conversational pattern.

AgentCreateInput.webhookUrl ● String! non-null scalar

URL of the external webhook that processes agent requests. Maximum length of 2048 characters.

AgentCreateInput.webhookTimeoutMs ● Int! non-null scalar

Timeout in milliseconds for webhook requests.

AgentCreateInput.webhookSignatureSalt ● String scalar

The salt used to generate HMAC-SHA256 signature for webhook authentication.

When configured, the webhook will include an 'X-Propeller-Signature' header with format 'sha256=<hex_signature>'.

To verify the signature:

  1. JSON stringify the payload
  2. Generate HMAC-SHA256 using this salt and the stringified payload
  3. Compare with the received signature using crypto.timingSafeEqual() to prevent timing attacks

Example (Node.js): const expectedSig = crypto.createHmac('sha256', salt).update(JSON.stringify(payload), 'utf8').digest('hex'); const receivedSig = signature.replace('sha256=', ''); return crypto.timingSafeEqual(Buffer.from(expectedSig, 'hex'), Buffer.from(receivedSig, 'hex'));

AgentCreateInput.webhookBasicAuthUsername ● String scalar

Username for HTTP Basic Authentication.

Used together with basicAuthPassword to provide authentication credentials for webhook requests. Both username and password must be provided or both omitted.

AgentCreateInput.webhookBasicAuthPassword ● String scalar

Password for HTTP Basic Authentication.

Used together with basicAuthUsername to provide authentication credentials for webhook requests. Both username and password must be provided or both omitted.

Member Of

agentCreate mutation