BastionGPT (Preview)

BastionGPT is a HIPAA-compliant AI assistant built for healthcare by Bastion Intelligence. Generate text with AI chat completions, ask questions about uploaded documents, and transcribe audio recordings with speaker separation. Customer content is never used to train AI models. A BastionGPT API subscription key is required.

This connector is available in the following products and regions:

Service Class Regions
Copilot Studio Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Bastion Intelligence Support
URL https://support.bastiongpt.com
Email support@bastiongpt.com
Connector Metadata
Publisher Bastion Intelligence
Website https://bastiongpt.com
Privacy policy https://bastionintelligence.com/privacy
Categories AI;Productivity

BastionGPT

Publisher: Bastion Intelligence

BastionGPT is a HIPAA-compliant AI assistant built for healthcare by Bastion Intelligence (FortaTech Security, LLC). This connector lets you generate text with AI chat completions, ask questions about uploaded documents, and transcribe audio recordings with speaker separation, all from your automations and agents. Customer content is never used to train AI models.

Prerequisites

  • A BastionGPT API subscription. Request one at https://bastiongpt.com/api-signup. Keys are typically issued the same business day.
  • Your BastionGPT API subscription key. Keep it confidential and rotate it if you suspect it has been exposed.

Obtaining Credentials

When you create a connection, paste your BastionGPT API subscription key into the API Key field. The connector sends the key in the key request header on every call. No other configuration is required.

Supported Operations

Ask a question

The simplest way to use BastionGPT. Sends a single question and returns the answer as plain text.

  • Question (required): what you want to ask or have generated.
  • Instructions (optional): guidance that shapes the response, such as the role to adopt, the audience, or the output format. When omitted, the default BastionGPT healthcare assistant persona is used.
  • Document ID (optional): the ID returned by Upload a document, to ask about that document.
  • Max Tokens (required, default 1000) and Temperature (advanced, default 0).

The response is flat: Answer, Finish Reason, Response ID, and Prompt/Completion/Total Tokens. Drag Answer directly into the next step.

Create a chat completion

Sends a multi-turn conversation to BastionGPT and returns an AI-generated text response. Use this when you need to send earlier turns or full control over the messages array; for a single question, Ask a question is simpler.

  • Messages (required): the conversation, oldest first. Each message has a Role (system, user, or assistant) and Content. Include earlier user and assistant turns to keep context. An optional system message as the first item overrides the default BastionGPT healthcare assistant persona.
  • Max Tokens (required, default 1000): the maximum number of tokens to generate.
  • Temperature (advanced, default 0): 0.0 to 1.0. Lower values give more consistent output.
  • Document ID (optional): the ID returned by Upload a document, to ask questions about that document.

The response contains Choices (an array with one item whose Message Content holds the generated text), a Response ID, a Created timestamp, and Usage token counts. To read the generated text in an expression, use:

first(outputs('Create_a_chat_completion')?['body/choices'])?['message']?['content']

Upload a document

Uploads a single document (PDF, plain text, HTML, CSV, Markdown, PNG, or JPEG; 10 MB maximum) and returns a Document ID. Supply the File content (for example the File Content output of a SharePoint or OneDrive Get file content action) and the File name (for example File name with extension). Documents are retained for 30 days after upload and can be referenced by any number of chat completion requests during that time. A document ID is owned by the API subscription key that uploaded it.

Submit audio for transcription

Uploads an audio recording (WAV, MP3, M4A, OGG, WEBM, and other common formats) for asynchronous transcription with speaker separation. Supply the File content and the File name. Returns a Transcript ID immediately, plus the audio File Duration in seconds.

Get a transcript

Retrieves a transcript by Transcript ID. The operation always succeeds with a Status field:

  • processing: the transcript is not ready yet. Segments is empty and Text is blank. Wait 10 to 20 seconds and call the operation again. A typical pattern is a Do until loop that repeats until Status equals completed, with a Delay of 15 seconds inside the loop.
  • completed: Segments holds the speaker-separated transcript (each with Timestamp in HH:MM:SS, Speaker, and Text), and Text holds the full transcript with one line per segment, ready to drop into an email, a document, or a record.

If the transcription failed or the transcript ID is missing, the operation returns an error with the service's message.

Getting Started

  1. Request an API subscription at https://bastiongpt.com/api-signup and receive your key.
  2. Add a BastionGPT action to your automation or agent and create a connection with your API key.
  3. For a first test, use Ask a question with the Question Summarize the purpose of a SOAP note in two sentences. and Max Tokens 200, then use Answer in a following step.
  4. To work with a file, use Upload a document first, then pass the returned Document ID to Ask a question or Create a chat completion.
  5. To transcribe audio, use Submit audio for transcription, then poll Get a transcript until Status is completed.

Known Issues and Limitations

  • Max Tokens is required. Requests without it are rejected by the service.
  • One document per chat completion request. Documents expire 30 days after upload; upload again to get a new ID.
  • Chat completion size limits. Request body 10 MB; about 1.6 million characters per message and about 2.5 million characters of total message content. Very large prompts are automatically served by a large-context model.
  • Get a transcript reports processing for unknown transcript IDs as well as for in-progress transcriptions. If the status stays processing well beyond the audio duration, verify the transcript ID. Give Do until loops a sensible limit.
  • Streaming responses are not exposed by this connector. Use the non-streaming chat completion operation.
  • Rate limits depend on your subscription tier. On status code 429, wait and retry with exponential backoff.
  • File inputs need a content type. File content from SharePoint, OneDrive, Outlook attachments, or forms carries its content type automatically. If you build file content yourself from base64, use dataUriToBinary(concat('data:<content type>;base64,', <base64>)) so the service can recognize the file type.
  • Protected health information. BastionGPT is designed to process PHI under a Business Associate Agreement with Bastion Intelligence. Review your organization's policies before sending PHI through automations, and consider enabling secure inputs and outputs on actions so PHI is not written to run history.

Frequently Asked Questions

Which AI model answers my request?

BastionGPT automatically selects an appropriate enterprise-grade AI model for each request. The response format is the same regardless of the model used.

Is my data used to train AI models?

No. Customer content is never used to train AI models.

Where can I get help?

Visit https://support.bastiongpt.com or contact support@bastiongpt.com.

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
API Key securestring Your API subscription key. Request one at bastiongpt.com/api-signup True

Actions

Ask a question

Sends a single question to BastionGPT and returns the AI-generated answer as plain text. Optionally add instructions that shape the response, or supply a document ID to ask about a previously uploaded document. Use this operation for most scenarios; use the chat completion operation when you need to send a multi-turn conversation.

Create a chat completion

Sends a multi-turn conversation to BastionGPT and returns an AI-generated text response. Include earlier user and assistant turns in the messages to keep context, add a system message as the first item to set instructions, or supply a document ID to ask questions about a previously uploaded document. For a single question, the ask a question operation is simpler.

Get a transcript

Retrieves a transcript by its transcript ID. While transcription is still in progress, the status is processing and the segments are empty; wait 10 to 20 seconds and call the operation again. When the status is completed, the segments contain the speaker-separated transcript and the text contains the full transcript.

Submit audio for transcription

Uploads an audio recording for asynchronous transcription with speaker separation and returns a transcript ID immediately. Use the transcript ID with the get transcript operation to retrieve the completed transcript. Common audio formats such as WAV, MP3, M4A, OGG, and WEBM are accepted.

Upload a document

Uploads a single document and returns a document ID that can be supplied to the chat completion operation. Documents are retained for 30 days after upload and can be referenced by any number of chat completion requests during that time. Supported types are PDF, plain text, HTML, CSV, Markdown, PNG, and JPEG, up to 10 MB.

Ask a question

Sends a single question to BastionGPT and returns the AI-generated answer as plain text. Optionally add instructions that shape the response, or supply a document ID to ask about a previously uploaded document. Use this operation for most scenarios; use the chat completion operation when you need to send a multi-turn conversation.

Parameters

Name Key Required Type Description
Question
question True string

The question or request to send to BastionGPT.

Instructions
instructions string

Optional instructions that shape the response, such as the role to adopt, the audience, or the output format. When omitted, the default BastionGPT healthcare assistant persona is used.

Document ID
document_id string

The optional ID of a document previously uploaded with the upload a document operation. The document is attached to the request so the answer can use its content.

Max Tokens
max_tokens True integer

The maximum number of tokens to generate in the answer. Must be 1 or greater.

Temperature
temperature float

The sampling temperature from 0.0 to 1.0. Lower values produce more consistent output and higher values produce more varied output.

Returns

Create a chat completion

Sends a multi-turn conversation to BastionGPT and returns an AI-generated text response. Include earlier user and assistant turns in the messages to keep context, add a system message as the first item to set instructions, or supply a document ID to ask questions about a previously uploaded document. For a single question, the ask a question operation is simpler.

Parameters

Name Key Required Type Description
Role
role True string

The author of the message. Use system for instructions, user for the person's input, and assistant for earlier AI responses.

Content
content True string

The text content of the message.

Max Tokens
max_tokens True integer

The maximum number of tokens to generate in the response. Must be 1 or greater.

Temperature
temperature float

The sampling temperature from 0.0 to 1.0. Lower values produce more consistent output and higher values produce more varied output.

Document ID
document_id string

The optional ID of a document previously uploaded with the upload a document operation. The document is attached to the request so the response can use its content. One document per request.

Returns

Get a transcript

Retrieves a transcript by its transcript ID. While transcription is still in progress, the status is processing and the segments are empty; wait 10 to 20 seconds and call the operation again. When the status is completed, the segments contain the speaker-separated transcript and the text contains the full transcript.

Parameters

Name Key Required Type Description
Transcript ID
transcriptId True string

The transcript ID returned by the submit audio for transcription operation.

Returns

Submit audio for transcription

Uploads an audio recording for asynchronous transcription with speaker separation and returns a transcript ID immediately. Use the transcript ID with the get transcript operation to retrieve the completed transcript. Common audio formats such as WAV, MP3, M4A, OGG, and WEBM are accepted.

Parameters

Name Key Required Type Description
Audio File
file True file

The audio recording to transcribe. Common formats such as WAV, MP3, M4A, OGG, and WEBM are accepted.

Returns

Upload a document

Uploads a single document and returns a document ID that can be supplied to the chat completion operation. Documents are retained for 30 days after upload and can be referenced by any number of chat completion requests during that time. Supported types are PDF, plain text, HTML, CSV, Markdown, PNG, and JPEG, up to 10 MB.

Parameters

Name Key Required Type Description
File
file True file

The document to upload. Supported types are PDF, plain text, HTML, CSV, Markdown, PNG, and JPEG, up to 10 MB.

Returns

Definitions

AskQuestionResponse

Name Path Type Description
Answer
answer string

The AI-generated answer text.

Finish Reason
finish_reason string

The reason generation stopped. The value stop means a natural end, max_tokens means the token limit was reached and the answer may be truncated, and content_filter means content was withheld by safety filtering.

Response ID
response_id string

The unique identifier of this response.

Prompt Tokens
prompt_tokens integer

The number of tokens in the input, including any instructions.

Completion Tokens
completion_tokens integer

The number of tokens generated in the answer.

Total Tokens
total_tokens integer

The sum of prompt tokens and completion tokens.

TranscriptResponse

Name Path Type Description
Status
status string

The transcription status. The value processing means the transcript is not ready yet and completed means the segments and text are available.

Segments
segments array of TranscriptSegment

The speaker-separated transcript segments in order. Empty while the status is processing.

Text
text string

The full transcript as text, one line per segment with its timestamp and speaker. Empty while the status is processing.

TranscriptSegment

Name Path Type Description
Timestamp
timestamp string

The segment start time in HH:MM:SS format.

Speaker
speaker string

The speaker label assigned by speaker separation.

Text
text string

The transcribed text for this segment.

ChatCompletionResponse

Name Path Type Description
Choices
choices array of Choice

The generated responses. This array contains one item.

Response ID
id string

The unique identifier of this response.

Created
created integer

The Unix timestamp in seconds when the response was created.

Usage
usage Usage

The token accounting for the request.

Choice

Name Path Type Description
Finish Reason
finishReason string

The reason generation stopped. The value stop means a natural end, max_tokens means the token limit was reached and the response may be truncated, and content_filter means content was withheld by safety filtering.

Content
message.content string

The generated text.

Usage

The token accounting for the request.

Name Path Type Description
Prompt Tokens
promptTokens integer

The number of tokens in the input, including the system message.

Completion Tokens
completionTokens integer

The number of tokens generated in the response.

Total Tokens
totalTokens integer

The sum of prompt tokens and completion tokens.

DocumentUploadResponse

Name Path Type Description
Document ID
document_id string

The identifier of the uploaded document, valid for 30 days after upload. Supply it to the chat completion operation.

TranscribeResponse

Name Path Type Description
Transcript ID
transcriptId string

The identifier used to retrieve the completed transcript.

File Duration
fileDuration string

The duration of the submitted audio in seconds, as a decimal string.